본문 바로가기

Qlik Sense

데이터 프로파일링 구축 사례

데이터 프로파일링이란?

데이터 프로파일링은 기존 정보 소스(: 데이터베이스 또는 파일)에서 사용 가능한 데이터를 검사하고 해당 데이터에 대한 통계 또는 정보 요약을 수집하는 프로세스입니다. 이러한 통계의 목적은 다음과 같습니다.

  • 기존 데이터를 다른 목적으로 쉽게 사용할 수 있는지 확인
  • 데이터에 키워드, 설명을 태그하거나 카테고리에 할당하여 데이터 검색 기능을 향상시킵니다.
  • 데이터가 특정 표준이나 패턴을 준수하는지 여부를 포함하여 데이터 품질을 평가합니다.[2]
  • 조인 문제를 포함하여 새로운 애플리케이션에 데이터를 통합하는 데 관련된 위험을 평가합니다.
  • 값 패턴 및 분포, 주요 후보, 외래 키 후보, 기능적 종속성을 포함한 소스 데이터베이스의 메타데이터를 검색합니다.
  • 알려진 메타데이터가 소스 데이터베이스의 실제 값을 정확하게 설명하는지 여부를 평가합니다.
  • 데이터 집약적인 프로젝트 초기에 데이터 문제를 이해하여 프로젝트 후반에 예상치 못한 일이 발생하는 것을 방지합니다. 프로젝트 후반부에 데이터 문제를 발견하면 지연과 비용 초과가 발생할 수 있습니다.
  • 주요 데이터가 필요한 마스터 데이터 관리 또는 데이터 품질 개선을 위한 데이터 거버넌스와 같은 용도로 모든 데이터에 대한 전사적 뷰를 확보하세요.

출처 : https://en.wikipedia.org/wiki/Data_profiling

 

데이터 품질에 대한 자세한 글은 https://qliksense.tistory.com/176 참조하세요.

 

데이터 프로파일링 시스템의 현주소

데이터베이스를 구축하거나 데이터웨어하우스를 구축하는 많은 시스템 제안서에 데이터 품질 및 데이터 프로파일링이란 항목을 소개하고 제안하는 것을 많이 보아왔습니다. 공공 프로젝트에서는 공공정보 품질관리 매뉴얼로 규정도 되어 있습니다. 그러나 실제 구축한 시스템에서는 메타 정보관리 정도만 구축되었고, 프로파일링 시스템 구축 사례는 찾아보기 어렵습니다.

많은 업체에서 데이터 프로파일링 솔루션을 제공하고 있지만 국내 기업에서 적용하는 사례는 아주 미비한 실정입니다. 중요도는 인식하면서 적용을 꺼리는 것은 시간과 비용문제가 아닐까 생각됩니다.

Qlik 에서도 Qlik Compose 란 솔루션을 제공하고 있습니다.

 

 

Qlik Sense를 이용한 데이터 프로파일링에 구축 사례 소개

이번 글에서는 특정 솔루션을 사용하지 않고 필자가 사용하는 Qlik Sense를 이용하여 구축한 사례를 소개합니다.

 

데이터 프로파일링에 사용된 모델

 

데이터 프로파일링을 하기 위하여 3 개의 테이블을 사용하였습니다.

각 파일의 정보를 저장하는 영역과 필드의 정보를 저장하는 영역 그리고 테이블 정의서로 구성되었습니다. $syn1 Table 은 테이블간의 조인시 생성되는 임의의 테이블입니다.

테이블 정보에는 테이블명, 작업일자, 필드의 수, 레코드 수, 파일 사이즈

필드 정보에는 필드명, 필드 값의 수, 유니크 필드값의 수, 필드의 Min.Max , 필드의 값이 숫자여부 등이며 필드의 값이 숫자인 경우 평균값, 각 분위수의 값, 중앙값 및 표준편차값 정보를 갖고 있습니다.

테이블 정의서는 테이블 및 필드명에 대한 영문명과 한글명을 갖고 있으며 소스 시스템에 정의된 데이터 타입 정보를 갖고 있습니다.

 

데이터 수집

프로파일링을 수행하기 위한 대상 폴더를 지정하고 지정된 폴더의 모든 파일을 대상으로 주 1회 수행합니다. 시스템의 부하를 감안하여 일요일 수행될 수 있도록 스케쥴링합니다.

 

데이터 시각화

수집된 데이터를 기준으로 시각화를 생성하여 수시로 분석할 수 있는 시스템을 구축합니다.

 

데이터 프로파일링 시각화 화면

파일 단위의 정보 분석

 

파일 단위로 레코드 건수, 파일사이즈, 필드의 수 및 생성일자를 분석할 수 있습니다.

필드 단위의 정보 분석

 

필드별로 Min , Max , Unique 값의 비율 (100%이면 전체가 유일한 필드값을 갖고 있음), Null 값 포함여부, 값이 숫자로 구성되어 있는지 여부 등의 정보를 제공합니다.

값이 숫자인 경우 평균값, 중앙값, 분위수값 및 표준편차값의 정보를 표현합니다.

 

데이터 수집을 위한 스크립트

 

QlikerData Profiler의 시각화 구성

 

 

 

 

 

 

 

데이터 품질관리의 자세한 기능

데이터 품질관리 기능 및 구축사례에 대한 자세한 기능은 다음을 참조하세요.

https://qliksense.tistory.com/195

 

데이터 품질관리 솔루션 (QDQM)

데이터 품질(Data Quality) 및 중요성 데이터 품질(Data Quality)이란? 데이터 품질은 데이터 세트가 정확성, 일관성, 신뢰성, 완전성 및 적시성에 대한 확립된 표준을 충족하는 정도를 평가합니다. 높은

qliksense.tistory.com