프로파일링이란?
시스템에서 사용하는 데이터 중 어느 부분에서 오류가 있고 어떻게 개선할 지 확인하는 '데이터 품질 진단'
에 속하는 절차 및 기법 중 가장 기본적인 기법이다
프로파일링은 본래 자료수집을 의미하지만 범죄 유형을 분석 및 추론하는 방법으로
즉, 데이터 현황 분석을 위한 자료수집과 오류 또는 잠재적 이슈를 찾아내는 방법이다
메타데이터(설계상)와 실제 데이터(DB)에 대한 통계적 분석을 시행해 데이터 품질 문제를 확인
분석은 크게 두가지로 나눠진다
01. 메타데이터 수집 및 분석
<메타데이터>
: 실제 운영 중인 DB의 테이블 명, 컬럼 명, 제약조건 등의 정보
테이블 정읫, 컬럼 정의서와 같은 데이터 관리 문서의 정보도 포함되며,
추출된 테이블 및 컬럼에 대한 정보와 데이터 관리 문서를 매핑하여 불일치 사항을 분석한다
<도메인 규칙정의서 & 코드 매핑 정의서>
: 데이터 관리 문서는 아니지만, 데이터 프로파일링 수행을 위하여 작성하면 도움이 되는 문서
<컬럼 속성 분석>
: 데이터 프로파일링 수행을 위하여 컬럼 속성 분석을 통해 일차적인 품질 현황을 파악과
대상 컬럼의 비유효한 값을 확인하여 기초 데이터로 활용하고자 하는 문서
분석컬럼 종류
컬럼의 총 건수, 유일값 수, NULL값 수, 공백값 수, 최댓값, 최솟값, 최대 빈도, 최소 빈도 등 기초 집계값을 산출하여 값이 유효한 범위 내에 있는지 판단
02. 데이터 현상 분석
1. 누락값
반드시 입력되어야 하고, 누락이 발생한 컬럼을 발견하는 절차
누락값에는 NULL값, 공백값 또는 숫자'0' 등이 해당된다.
NULL허용 컬럼일지라도 NULL과 공백이 혼재하는 경우 총건수 NULL건수가 같아 미사용으로 추정되는 컬럼 발견
2. 허용범위 분석
값이 가져야 할 범위 내에 그 값이 있는지를 파악하는 절차
허용범위는 해당 속성의 도메인 유형에 따라 정해진다
해당값이 오류 데이터라면 NULL값을 부여
MAGAZINE 테이블의 권, 호, 페이지 등의 컬럼은 0 이상의 값을 가져야 하는데 최솟값이 -999등으로 되있는것을 보아 NULL 대신 무의미한 값을 부여한 데이터일 확률이 있다.
3. 허용값 분석
해당 컬럼의 허용값 목록이나 집합에 포함되지 않는 값을 발견하는 절차
코드 매핑 정의서에 기술한 코드 성격의 컬러밍 분석 대상에 해당
등록도지 않은 코드가 포함되어 있거나 의미는 유사하나 다른값으로 혼재된 경우
4. 패턴 분석
해당 컬럼의 문자열 유형을 따르지 않는 오류 유형을 발견하는 절차
데이터 집계 시 문자일 경우 C, 숫자일 경우 0, 공백일 경우 S를 반환하는 함수를 만들어 사용한다
해당 컬럼의 데이터를 패턴화하여 SQL로 조회하면 비정상적인 형태의 값을 오류로 추정
5. 날짜 유형 분석
대상 컬럼이 DBMS의 DATE 관련 자료형을 가지면 날짜 패턴 및 유효성 검증은 문제없다
하지만 문자형 데이터 타입에 날짜 데이터를 입력하면 오류가 발생할 수 있다
6. 유일값 분석
업무적 의미에서 유일해야 하는 컬럼에 중복이 발생했는지 파악하는 절차
DBMS의 제약조건으로 PK가 설정된 컬럼이나 UNIQE가 설정된 컬럼은 문제 없음
7. 구조분석
주조 결함으로 일관되지 못한 데이터를 발견하는 분석 기법
테이블에 존재하지않는 데이터가 존재하면 일관성이 없는 오류데이터로 분리 된다
ERD 등 설계 시에 관계를 설정해두고 실제 DB에는 제약조건을 적용하지 않고 개발하는 경우 자주 발생된다
출처
https://blog.insilicogen.com/42
'DB' 카테고리의 다른 글
[모델링] 모델링에 사용되는 이벤트 코드용어 (0) | 2023.02.02 |
---|---|
[DB] 엔터티/ 속성/ 도메인 1분개념 (0) | 2023.02.01 |
[DB]개념/ 논리/ 물리 모델의 간단 개념정리 (0) | 2023.02.01 |
[UML] 유스케이스(Usecase)로 보는 상호작용 (0) | 2023.01.27 |