Data Engineering

DE > 데이터 정합성

Porits789 2024. 6. 12. 21:03

데이터 정합성이란?

데이터들의 값이 서로 일치하는 상태를 말한다.
중복데이터가 제거되지 않은 비정규형을 사용하여 이상현상이 발생하는 경우에 정합성이 깨지게 된다.
 - 사례: 술을 마시고 운전을 하였으나, 음주운전을 하지 않았다고 처리되는 경우

데이터 정합성 검증 방법

1. 데이터 유효성 검사 (Data Validation)

데이터 유효성 검사는 입력된 데이터가 정해진 규칙과 조건에 부합하는지를 확인하는 과정이다.
데이터의 입력 단계에서 오류를 방지하고, 정합성을 보장한다.

 

[데이터 유효성 검사 방법]

  • 형식 검사 (Format Validation) : 데이터가 예상되는 형식을 따르는지 확인한다.
  • 범위 검사 (Range Validation) : 숫자 값이 지정된 범위 내에 있는지, 날짜가 유효한 기간 내에 있는지 확인한다.
  • 필수 값 검사 (Mandatory Field Check) : 필수 필드가 비어 있지 않은지 확인한다.
  • 유니크 검사 (Uniqueness Check) : 중복 값을 검사한다.
  • 참조 무결성 검사 (Referential Integrity Check) : 외래 키 값이 참조하는 테이블에 존재하는지 확인한다.
  • 비즈니스 규칙 검사 (Business Rule Validation) : 특정 비즈니스 로직을 기반으로 데이터의 유효성을 검증한다.

[데이터 엔지니어링에서의 특정 케이스]

  1. ETL 파이프라인에서의 데이터 유효성 검사
    • 형식, 범위, 필수 값을 검사한다.
  2. 데이터베이스 마이그레이션
    • 참조 무결성 검사
    • 유니크 검사
    • 데이터 무결성 검사
  3. 데이터 스트리밍
    • 형식 검사
    • 범위 검사
    • 필수 값 검사

[오픈소스 및 SaaS 도구]

  • 오픈소스 도구
  설명 특징
Great Expectations 데이터 유효성 검사와 문서화를 위한 오픈소스 도구 유연한 데이터 검사 규칙, 자동화된 데이터 문서화, 데이터 프로파일링
Deequ AWS에서 개발한 데이터 품질 검사 라이브러리, Spark기반 동작, 대규모 데이터셋의 품질 검사 자동화 가능 스칼라로 작성된 DSL(도메인 특정 언어)을 통해 데이터 검증, 메트릭 수집, 데이터 품질 보고서 작성
Data Validator by
Google Cloud
Google Cloud에서 제공하는 데이터 검증 도구, 데이터 스키마와 유효성 검사 정의, 변환 후 유효성 검사 가능 데이터 스키마 정의, 변환 전후의 데이터 일관성 검사, GCP와의 통합
DBT 데이터 변환 및 데이터 유효성 검사를 위한 도구로, SQL기반의 트랜스포메이션을 쉽게 관리하고 검증 가능 SQL기반 데이터 트랜스포메이션, 모델 간의 종속성 관리, 데이터 테스트와 문서화
Pandera Pandas 데이터프레임을 위한 유효성 검사 라이브러리 Pandas 데이터프레임과의 긴밀한 통합, 데이터 스키마 정의, 타입 검사 및 범위 검사

 

  • SaaS Tools
  설명 특징
Datafold 데이터 품질 및 데이터 변경 검사를 위한 SaaS툴, 데이터 파이프라인의 변경사항 모니터링 및 검증 데이터 변경 감지, 품질 모니터링, 다양한 데이터 소스 통합
Monte Carlo 데이터 신뢰성 플랫폼, 파이프라인의 유효성 검사 자동화, 품질 문제 실시간 감지 데이터 품질 모니터링, 자동화된 데이터 검증, 데이터 계보(리니지) 추적
Bigeye 데이터 품질 모니터링 및 경고를 위한 플랫폼, 데이터의 정확성, 완전성, 일관성의 지속적 검증 가능 데이터 품질 지표 정의, 실시간 모니터링, 자동 경고

 

2. 데이터 일관성 검사 (Data Consistency)

데이터 일관성이란 사용자가 일관된 데이터를 볼 수 있도록 하는 것을 의미한다

 

[데이터 일관성 검사 방법]

  1. 참조 무결성 검사 (Referential Integrity) : 왜래 키 값이 참조하는 테이블에 존재하는지 검사.
  2. 유니크 제약 조건 검사 (Unique Constraints) : 중복 값 검사
  3. 교차 필드 검사 (Cross-Field Validation) : 여러 필드 간의 논리적 일관성 확인
  4. 데이터 이력 검사 (History Data) : 데이터 이력이 일관되게 유지되는지 확인
  5. 비즈니스 규칙 검사 (Business Rule Validation) : 특정 비즈니스 로직을 기반으로 데이터의 일관성을 검사

[데이터 엔지니어링에서의 특정 케이스]

  1. 데이터 웨어하우스 로딩
    • 참조 무결성 검사
    • 유니크 제약 조건 검사
  2. 데이터 마이그레이션
    • 참조 무결성 검사
    • 유니크 제약 조건 검사
    • 교차 필드 검사
  3. 데이터 스트리밍
    • 참조 무결성 검사
    • 비즈니스 규칙 검사

[오픈소스 및 SaaS 도구]

  • 오픈소스
  설명 특징
Great Expectations 데이터 일관성 검사를 포함한 다양한 데이터 검증 기능을 제공 유연한 데이터 검사 규칙, 자동화된 데이터 문서화, 데이터 프로파일링
Deequ AWS에서 개발한 품질 검사 라이브러리, Spark 기반 데이터 검증, 메트릭 수집, 품질 보고서 생성
Apache Griffin 데이터 품질 모니터링 및 데이터 일관성 검사를 위한 오픈소스 도구 실시간 데이터 품질 검사, 일관성 검증, 데이터 품질 메트릭 제공

 

  • SaaS 도구
  설명 특징
Datafold 데이터 품질 및 데이터 변경 검사를 위한 SaaS툴, 데이터 파이프라인의 변경사항 모니터링 및 검증 데이터 변경 감지, 품질 모니터링, 다양한 데이터 소스 통합
Monte Carlo 데이터 신뢰성 플랫폼, 파이프라인의 유효성 검사 자동화, 품질 문제 실시간 감지 데이터 품질 모니터링, 자동화된 데이터 검증, 데이터 계보(리니지) 추적
Bigeye 데이터 품질 모니터링 및 경고를 위한 플랫폼, 데이터의 정확성, 완전성, 일관성의 지속적 검증 가능 데이터 품질 지표 정의, 실시간 모니터링, 자동 경고