데이터 변환(Data Transformation)은 원본 데이터를 데이터 마이닝에 적합한 형태로 변환하거나 연결하는 과정입니다. 분석 목적에 맞게 데이터를 가공하는 이 단계는 데이터 웨어하우스 구축과 비즈니스 인텔리전스(BI)에서 필수적인 역할을 담당합니다.
데이터 변환의 기본 기법
데이터 변환에는 대표적으로 다음과 같은 기법들이 활용됩니다.
1. 스무딩(Smoothing)
데이터에 포함된 노이즈(noise)를 제거하는 기법입니다. 빈닝(binning), 회귀(regression), 클러스터링(clustering) 등의 방법이 대표적이며, 이상치나 불규칙한 값의 영향을 줄여 더 안정적인 분석 결과를 얻을 수 있습니다.
2. 집계(Aggregation)
요약(summarization) 또는 집계(aggregation) 연산을 데이터에 적용하는 과정입니다. 예를 들어 일별 매출 데이터를 월별·분기별로 묶어 요약하는 것이 여기에 해당합니다.
3. 일반화(Generalization)
개념 계층(concept hierarchy)을 활용하여 저수준의 원시(raw) 데이터를 상위 수준의 개념으로 대체하는 기법입니다. 예컨대 '서울시 강남구'라는 세부 주소를 '수도권'처럼 더 넓은 범주로 변환하는 방식입니다.
주요 데이터 변환 서비스 7가지
① 통합(Integration)
통합 서비스는 대체 키(surrogate key) 생성, 한 스키마에서 다른 스키마로의 키 매핑, 프로그램 코드를 완전한 설명으로 변환하는 작업을 포함합니다. 이러한 변환의 배후에는 마스터 키 조회 테이블(lookup table)을 지원하기 위한 암묵적인 체계가 존재합니다.
② 느리게 변경되는 차원(SCD) 유지 관리
변경된 값을 식별하고 새로운 대체 키를 생성하는 작업은 까다롭지만, 불가능한 일은 아닙니다. 데이터 스테이징(staging) 도구를 도입한다면, 느리게 변경되는 차원(Slowly Changing Dimension)을 관리하는 알고리즘이 기본적으로 내장되어 있는지 반드시 확인해야 합니다.
③ 비정규화 및 재정규화(Denormalization & Renormalization)
여러 개로 나뉜 테이블의 계층 구조를 하나의 차원(dimension) 테이블로 비정규화하는 것은 데이터 웨어하우스의 표준 변환 프로세스입니다. 일부 데이터 스테이징 도구는 이 작업을 자동으로 수행하는 스타 스키마(star schema) 기능을 제공합니다.
또한 일부 비정규화는 팩트(fact) 테이블 단계에서도 발생합니다. 예를 들어 재무 스키마에 '실제값(Actual)', '예산(Budget)', '예측(Forecast)'이라는 값을 갖는 금액 유형(amount type) 차원이 있다고 가정해 보겠습니다. 레코드가 담고 있는 세부 수준에 따라, 이 컬럼을 세 개의 금액 컬럼을 가진 단일 행으로 피벗(pivot)하는 것이 훨씬 효율적일 수 있습니다.
④ 클렌징, 중복 제거, 병합/퍼지(Cleansing, Deduping, Merge/Purge)
데이터 정제는 많은 데이터 웨어하우스에서 골치 아픈 문제이며, 특히 고객, 기업, 의사, 환자처럼 외부 실체(entity)를 다루는 경우 두드러집니다. 이름 표기 오류, 중복 레코드, 형식 불일치 등을 처리하는 과정은 복잡하지만, 다행히 여러 벤더가 이 문제에 특화된 전문 도구와 서비스를 제공하고 있습니다.
⑤ 데이터 유형 변환(Data Type Conversion)
하나의 데이터 유형이나 형식을 다른 형태로 바꾸는 저수준 변환 작업입니다. IBM 메인프레임의 EBCDIC 문자셋을 ASCII로 변환하는 것부터, 날짜·숫자·문자 표현 방식을 서로 다른 데이터베이스 간에 맞추는 작업까지 폭넓은 범위를 포괄합니다.
⑥ 계산, 파생, 할당(Calculation, Derivation, Allocation)
요구사항 정의 단계에서 확인된 비즈니스 규칙을 적용하는 변환입니다. 도구를 선택할 때는 문자열 조작, 날짜·시간 연산, 조건문, 기본 수학 연산 등 필요한 함수 세트를 모두 지원하는지 꼼꼼히 검토해야 합니다.
⑦ 집계 처리(Aggregation)
집계는 어느 단계에서 어떤 리소스에 접근할 수 있는지에 따라 로드(load) 프로세스의 여러 지점에서 수행될 수 있습니다. 추출(extract) 또는 변환(transformation) 단계에서 집계를 계산할 수 있다면, Syncsort와 같은 유틸리티를 플랫 파일(flat file)에 직접 적용하는 것도 좋은 방법입니다. 이런 유틸리티는 정렬과 보고를 위해 개발되었으며, 해당 분야에서 매우 뛰어난 성능을 발휘합니다.
맺음말
데이터 변환은 단순히 형식을 바꾸는 작업을 넘어, 분석의 신뢰성을 좌우하는 핵심 단계입니다. 통합, 정제, 유형 변환, 집계 등 각 서비스의 특성을 이해하고 프로젝트 요구사항에 맞는 도구와 기법을 선택하는 것이 성공적인 데이터 웨어하우스 구축의 출발점입니다.