데이터 클렌징(Data Cleansing) 절차와 정규화 알고리즘의 실무 적용

데이터 프로파일링과 DQI(데이터 품질 지표) 측정을 통해 시스템 내부에 오염된 데이터가 존재한다는 것을 식별했다면, 다음 단계는 이를 물리적으로 교정하는 것입니다.

‘데이터 클렌징(Data Cleansing)’은 단순히 오타를 수정하는 단순 반복 작업이 아닙니다. 이기종 시스템에서 유입된 비정형 텍스트를 분해하고, 통계적 알고리즘을 통해 중복을 찾아내며, 최종적으로 완벽한 ‘골든 레코드(Golden Record)’를 생성하는 고도의 아키텍처 과정입니다. 본 문서에서는 엔터프라이즈 MDM 환경에서 적용되는 데이터 클렌징의 표준 절차와 정규화 알고리즘을 심층 분석합니다.

1. 데이터 클렌징의 4단계 핵심 파이프라인

수십만 건의 레거시 데이터를 일괄 정제하기 위해 데이터 스튜어드와 엔지니어는 다음과 같은 4단계의 자동화 파이프라인을 설계합니다.

  • 1단계: 파싱 (Parsing): 긴 텍스트 문자열을 의미 있는 최소 단위(Token)로 쪼개는 작업입니다. (예: “서울특별시 강남구 테헤란로 123” -> [시/도: 서울특별시] + [시/군/구: 강남구] + [도로명: 테헤란로] + [본번: 123])
  • 2단계: 표준화 및 정규화 (Standardization & Normalization): 다양한 형태로 입력된 데이터를 전사 표준 포맷으로 통일합니다. (예: ‘서울’, ‘서울시’, ‘서울특별시’를 모두 ‘서울특별시’로 치환)
  • 3단계: 매칭 (Matching): 표준화된 데이터를 바탕으로, 서로 다른 레코드가 동일한 객체(동일 인물, 동일 상품)를 지칭하는지 통계적 알고리즘으로 찾아냅니다.
  • 4단계: 병합 및 생존 (Merging & Survivorship): 매칭된 중복 레코드 중에서 가장 신뢰할 수 있는 속성값들만 뽑아내어 최종적인 단일 진실 공급원(SSOT)을 생성합니다.

2. 데이터 정규화(Normalization)와 사전(Dictionary) 활용

데이터를 일관된 형태로 맞추는 정규화 과정에서는 데이터 거버넌스 위원회가 확립한 ‘표준 단어 사전(Data Dictionary)’과 ‘동의어/유의어 사전’이 핵심 엔진으로 작동합니다.

  • 약어 및 기호 정제: (주), 주식회사, Inc., Corp. 등 기업명에 포함된 법인격을 제거하거나 통일합니다.
  • 포맷 정규화: 전화번호의 하이픈(-) 위치를 일치시키고, 날짜 포맷을 YYYY-MM-DD의 ISO 표준 형식으로 강제 변환합니다.
  • 도메인 무결성 적용: 텍스트 공백(Trim) 제거나 특수문자 필터링을 통해 시스템이 인식할 수 있는 순수한 문자열(String) 형태로 가공합니다.

3. 중복 식별을 위한 유사도 매칭 알고리즘

데이터가 완벽하게 동일하지 않더라도(예: ‘김철수’와 ‘김쳘수’), 오타나 띄어쓰기 오류를 극복하고 동일 데이터임을 식별해 내는 것이 클렌징의 핵심입니다. 이를 위해 다음과 같은 퍼지 매칭(Fuzzy Matching) 알고리즘이 실무에 적용됩니다.

A. 레벤슈타인 거리 (Levenshtein Distance / Edit Distance)

두 문자열이 같아지기 위해 필요한 최소한의 수정(삽입, 삭제, 치환) 횟수를 계산합니다. (예: ‘데이터’와 ‘데이타’는 1번의 치환만 필요하므로 거리가 1이며, 유사도가 매우 높다고 판정합니다.)

B. N-gram 알고리즘

문자열을 N개의 연속된 음절로 쪼개어 교집합을 비교합니다. 주로 긴 주소나 복잡한 상품명을 비교할 때 뛰어난 성능을 발휘하며, 부분 일치(Partial Match)를 찾아내는 데 탁월합니다.

C. 자로-윙클러 (Jaro-Winkler)

문자열의 앞부분(Prefix)이 일치할수록 더 높은 가중치를 부여하는 알고리즘입니다. 주로 사람의 이름이나 영문 고유명사의 오타를 탐지하는 데 특화되어 있습니다.

4. 골든 레코드 생성을 위한 생존 규칙 (Survivorship Rules)

매칭 알고리즘을 통해 ‘A시스템의 레코드’와 ‘B시스템의 레코드’가 동일한 고객임을 확인했다면, 두 데이터를 하나로 합치는 병합(Merge)을 수행해야 합니다. 이때 어떤 값을 취할 것인지 결정하는 논리가 바로 생존 규칙(Survivorship Rule)입니다.

  • 최신성(Recency) 규칙: 가장 최근에 업데이트된(Last Modified Date) 시스템의 데이터를 신뢰하여 병합합니다.
  • 시스템 신뢰도(Source System Trust) 규칙: 부서별 시스템에 신뢰도 점수를 부여합니다. 예를 들어, 고객 연락처는 영업부의 CRM 시스템 데이터를 1순위로 채택하고, 결제 계좌 정보는 재무부의 ERP 시스템 데이터를 최우선으로 생존시킵니다.
  • 완전성(Completeness) 규칙: 두 레코드 중 NULL 값이 적고 정보가 더 꽉 차 있는 레코드의 속성을 생존시킵니다.

결론

데이터 클렌징과 정규화는 오염된 늪을 맑은 호수로 바꾸는 강력한 정수 처리 과정입니다. 정교한 파싱, 매칭 알고리즘, 그리고 엄격한 생존 규칙이 결합될 때 기업은 비로소 100% 신뢰할 수 있는 골든 레코드를 손에 쥐게 됩니다.

하지만 클렌징은 ‘사후 약방문’일 뿐입니다. 애초에 데이터가 입력될 때부터 깨끗하고 표준화된 상태로 들어오게 만드는 것이 거버넌스의 궁극적 목표입니다. 다음 포스팅에서는 전사적 통제의 기준이 되는 ‘전사적 데이터 표준화 가이드라인 작성법 및 명명 규칙(Naming Rule) 수립’ 실무에 대해 심층적으로 다루겠습니다.

댓글 남기기