반응형

제목: 데이터 프로파일링(Data Profiling)

저자: Shankar Ganesh R 2, HCL Technologies Ltd.

문서유형: 화이트페이퍼( 15페이지), 2008

 

데이터 프로파일링의 필요성과 프로세스에 대해 기술한 자료



서론

  • 비용 감소 압력이 커지는 오늘날의 경제 환경에서 회사들은 경쟁력 확보를 위해 다양한 솔루션을 찾고 있음. 예를 들면, ERP(Enterprise Resource Planning), CRM(Customer Relationship Management), SCM(Supply Chain Management), Stock Control, Logistics, BI(Business Intelligence) 등이 있음
  • 이러한 솔루션이 가치를 전하기 위해서는 그것이 의존하고 있는 데이터가 정확하고(accurate), 완전하며(complete), 일관적(consistent) 이어야 함
  • 데이터가 조직의 성공에 가장 중요한 자산임에도 불구하고 대부분의 회사가 자신들의 데이터에 대한 자세한 정보를 갖고 있지 않으며, 그 결과 ERP, CRM, BI, SCM 같은 솔루션 진행에 구현 지연, 비용 초과, 투자수익률 미달 등의 리스크가 따르게 됨 


데이터 프로파일링(Data Profiling)의 필요성

  • 회사의 데이터베이스는 그 비즈니스 활동의 대부분의 측면을 건드리는 정보를 담고 있음. , 시장 데이터, 고객 정보, 회계 정보, 생산 정보, 판매 기록, 청구 정보, 인사 기록, 급여 기록 등등
  • 이 데이터가 회사의 다양한 비즈니스 의사결정에 활용되며, 따라서 데이터베이스에 담긴 데이터가 일관적이고, 정확하고, 신뢰할 수 있어야 함
  • 질 낮은 데이터로 인한 비용이 높기 때문에 비즈니스를 위한 데이터의 품질 및 적합성을 체크하는 데이터 프로파일링수행이 증가하고 있음. 데이터 프로파일링은 데이터의 진짜 콘텐츠, 구조, 품질을 발견하기 위해 분석적 기법(analytical techniques)을 사용함
  • 데이터 프로파일링은 데이터에 대한 정보(information about the data)를 도출한다는 점에서 데이터로부터 비즈니스 정보(business information from the data)를 도출하는 데이터 분석(data analysis)과 차이가 있음
  • 데이터 프로파일링의 목적은 1) 부정확한 데이터 인스턴스를 찾아내고, 2) 유효하지 않은 값, 구조적 위반, 데이터 규칙 위반을 결정하고, 3) 데이터가 비즈니스 의도와 부합하는지 비즈니스 분석가가 판단하는데 유용한 데이터 특성(data characteristics)을 찾는데 있음
  • 통상적으로 데이터 프로파일링은 데이터 통합(data integration)이 수행되기 전 또는 비지니스 핵심 소프트웨어가 출시되기 전에 이루어짐


데이터 프로파일링 프로세스

아래 그림처럼 데이터 프로파일링 프로세스가 구조 발견(structure discovery), 데이터 발견(data discovery), 관계 발견(relationship discovery)으로 구성된다. 데이터 프로파일링은 툴을 사용하여 수행되며, 이 툴은 발견 프로세스를 자동화하고, 데이터의 특성(characteristics) 발견과 데이터 소스 간 관계(relationships) 발견을 돕는다.


[데이터 프로파일링 워크플로우]


구조 발견(Structure Discovery)

  • 구조 문제는 데이터 비일관성(data inconsistencies)에 의해 야기됨. 일부 문제는 여전히 사용중이거나 신규 애플리케이션으로 마이그레이션된 레가시 데이터 소스에 의해 야기되기도 함
  • 구조 발견은 완전한 컬럼 또는 데이터 테이블을 조사하고, 해당 컬럼/테이블의 데이터가 예상과 일치하는지 판단하는 프로세스이다.
  • 흔한 구조 발견 기법으로 메타 데이터 확인, 패턴 매칭, 기본적인 통계치 사용의 세 가지가 있다.


메타데이터 확인(Validation with Metadata): 메타데이터는 데이터에 대한 데이터로 정의되며, 테이블 또는 컬럼에 있는 데이터를 기술한다. 메타데이터는 데이터 타입과 필드 길이에 대한 정보를 포함하며, 어떤 필드의 값이 빠져 있는지, null 인지, 또는 유일해야 하는지 등도 알려준다. 메타데이터 확인은 데이터를 분석하고, 필드 길이가 적절한지나 값이 없는 필드가 존재하는지 등을 체크한다.  


패턴 매칭(Pattern Matching): 패턴 매칭은 필드의 데이터 값이 데이터 소스 전반에 거쳐 일관적인지 그리고 정보가 예상된 형식(, 특정 국가의 전화번호 형식)으로 되어 있는지를 판단한다. 또한 패턴 매칭은 데이터에 대한 다른 형식 관련 정보(, 타입, 길이)도 체크한다


기본 통계치(Basic Statistics): 기본 통계치는 통계적 정보를 제시함으로써 전체 데이터 필드의 스냅샷을 제공한다. 예를 들면, 정상치로부터 벗어남을 강조해 주는 최소값, 최대값, 평균, 중간값(median), 최빈값(mode), 표준 편차 등이 있다.


데이터 발견(Data Discovery)

데이터 발견은 개별 데이터 엘리먼트 점검을 통해 구조 발견에서 찾아낸 문제 영역들을 조사한다.

데이터 발견 기법으로 비표준 데이터 발견을 위한 매칭 기술과 말이 안되는 데이터 엘리먼트를 찾기 위한 빈도 집계 및 아웃라이어 탐지를 사용한다


표준화(Standardization): 조직의 데이터는 여러 다른 소스로부터 오게 됨. 표준화는 데이터에 있는 비일관성을 발견하고 이 비일관성을 해결하기 위한 솔루션을 제공하는데 도움을 준다.

 

빈도 집계와 아웃라이어(Frequency Counts and Outliers): 빈도 집계는 데이터 발생(data occurrences)에 따라 값들이 어떻게 연관되었는지를 들여다 본다. 아웃라이어(특이 값) 탐지는 다른 값들과 두드러지게 다른 데이터 값들을 조사한다. 본질적으로 이 기법들은 추가 조사가 필요한 데이터 값들을 강조함으로써 전체 데이터를 모두 확인할 필요를 없애 준다.

 

비즈니스 규칙 확인(Business Rule Validation): 비즈니스 규칙은 비즈니스의 행동에 영향을 미치도록 의도된 비지니스의 한 측면을 정의한다(또는 제한한다). 비즈니스 규칙이 각 조직에 한정적이기 때문에 데이터 프로파일링 소프트웨어가 비즈니스 규칙을 포함하고 있지는 않지만, 견고한 데이터 프로파일링 프로세스는 조직의 고유한 비즈니스 규칙들을 구축하고 그것을 비교 기준으로 하여 확인 작업을 할 수 있어야 한다


관계 발견(Relationship Discovery)

  • 관계 발견은 데이터 레코드들의 상호 관련 방식에 대한 정보를 제공한다. 이 데이터 레코드들은 동일 데이터 파일에 있는 다수의 레코드들일 수도 있고, 여러 데이터 파일을 가로지르는 레코드들일 수도 있고, 여러 데이터베이스를 가로지르는 레코드들일 수도 있다.
  • 관계 발견은 아래를 수행한다
    -
    메타데이터를 사용하여 키 관계(key relationships)를 결정하고,
    -
    유일한 일차키/외래키 제공 관계를 체크하고,
    -
    키가 유일하게(unique) 되는걸 막는 레코드를 점검하고,
    -
    관계를 준수하지 않는 유별난 레코드들을 식별한다



사례 연구 은행 분야

  • 93십억 달라의 자산을 가진 싱가포르에서 가장 큰 은행 중 하나가 재무 및 운영 리스크에 대비하기 위해 총자본을 계산할 필요가 생김(바젤 2 기준).
  • 은행의 자본 적정성 평가가 규제 기관에 제출된 재무 데이터와 일치해야 함
  • 은행은 이 계산의 정확성이 소스 데이터의 품질에 의존함을 깨닫고 소스 데이터 프로파일링을 하기로 결정함

 

HCL의 솔루션 아키텍트가 데이터 품질을 결정하기 위해 아래와 같은 2단계 데이터 프로파일링을 수행함


I 분석 단계(Analysis Stage)

  • 특정 컬럼의 개별 값들이 유효한 값들인지 판단
  • 유일성 규칙(uniqueness rules)과 관련된 문제, 특정 값들의 예상치 못한 빈도 등을 발견하기 위해 컬럼 값들을 분석
  • 기능적 의존성, 일차키, 외래키, 동의어와 중복 컬럼을 결정하는 구조 규칙을 분석

 

II 확인 단계(Validation Stage)

  • 데이터 규칙이 아래에서 유효한지를 확인
    -
    특정 데이터 로우(A row of data),
    -
    단일 비즈니스 오브젝트의 모든 로우,
    -
    비즈니스 오브젝트들의 집합,
    -
    여러 다른 타입의 비즈니스 오브젝트


HCL 아키텍트가 데이터 프로파일링 프로세스에서 아래 표와 같은 여러 품질 체크를 수행한다.

품질 체크(Quality Check)

도메인 체킹(Domain Checking)

성별 필드의 값이 M 또는 F 이어야 한다.

범위 체킹(Range checking)

나이 필드의 값은 0 보다 크고 125 보다 작아야 한다.

참조 무결성(Referential integrity)

어떤 주문에서 고객이 제품 X를 구매한 것으로 나와 있다면, X라는 이름의 제품이 실제로 존재하는지 확인한다.

기본 통계치, 빈도, 범위, 아웃라이어

한 회사에 비용이 $100에서 $1,000 사이인 제품이 있다면, 이 범위를 벗어나는 것이 있을 때 그걸 표시한다.

유일성과 잃어버린 값 확인

어떤 코드가 유일해야 한다면, 그것이 재사용 되지 않는 것을 확인한다.

키 식별(Key identification)

테이블들을 가로지르는 일차키/외래키 관계가 있다면, 상응하는 관련 레코드를 가지지 않은 레코드를 찾음으로써 그것을 확인한다.

데이터 규칙 준수(Data rule compliance)

마감된 신용 계정의 잔액이 반드시 0이어야 한다면, 마감 계정 플래그가 참(true)이고 계정 잔액이 0 이상인 레코드가 없음을 확인한다.

데이터에 대한 기본적인 통계치

최소 값(Minimum Value)

최대 값(Maximum Value)

평균(Mean)

최빈값(Mode)

표준 편차(Standard Deviation)

최소 필드 길이(Minimum field length)

최대 필드 길이(Maximum field length)

키로 정의된 필드에서 Null 값의 발생

다중값 압축을 위한 후보 컬럼을 포함한 도수 분포

유효하지 않은 데이터 형식(Invalid data formats)


반응형

+ Recent posts