데이터 품질 검사 소개
데이터 품질 검사 소개
Enterprise Edition 기능 — 데이터 품질 모니터링(Data Quality Monitoring)은 Enterprise Edition이 필요해요. 업그레이드 문의는 Snowflake 지원에 연락해 주세요.
Snowflake의 데이터 품질 검사는 데이터의 상태를 지속적으로 검증해요. 이러한 검사는 규제 표준을 준수하고, 정확한 지표로 서비스 수준 계약(SLA)을 충족하며, 자동화되고 일관된 데이터 검증을 제공함으로써 데이터 기반 의사 결정의 신뢰도를 높이는 데 도움을 줘요. Cortex Data Quality를 사용하면 메타데이터와 사용 패턴의 특성에 따라 AI가 데이터 품질 검사를 에이전트 방식으로 제안하게 할 수 있어요. 이를 통해 검사를 수동으로 정의할 필요가 없어지고 설정 과정이 빨라지며, 데이터를 Snowflake 안에 안전하게 유지해요. 일단 구성되면 품질 검사는 선택한 일정에 따라 자동으로 실행되어 위반 사항을 보고하고, 수정 조치를 취할 수 있게 해줘요.
출처: Documentation
본문
시작하기
Snowflake는 데이터 품질 검사를 설정하고 그 결과를 모니터링하는 웹 인터페이스를 제공해요.
시작하려면 다음 중 하나를 수행해요.
- 데이터에 대한 데이터 품질 검사를 설정하려면 Snowsight로 데이터 품질 검사 설정하기를 참고해요.
- 특정 테이블이나 뷰에 대한 기존 데이터 품질 검사 결과를 모니터링하려면 Snowsight에서 데이터 품질 검사 모니터링을 참고해요.
- 계정 전체에서 데이터 품질 상태를 모니터링하려면 데이터 품질 모니터링 대시보드 사용하기를 참고해요.
데이터 품질 검사의 핵심 개념
데이터 메트릭 함수(DMF, Data Metric Function)
DMF는 컬럼에 NULL 값이 몇 개 있는지, 테이블이 얼마나 자주 업데이트되는지 같은 데이터의 특성을 측정해요. DMF는 데이터의 현재 상태에 따라 값을 반환하지만, 그 값이 데이터 품질 문제를 구성하는지 여부를 정의하지는 않아요. DMF는 데이터 품질 검사의 구성 요소에요.
Snowflake는 구성 없이 공통 메트릭을 측정하는 시스템 DMF를 제공해요. 다양한 차원에 사용할 수 있는 시스템 DMF 목록은 시스템 데이터 메트릭 함수를 참고해요.
모니터링하려는 메트릭에 대한 시스템 DMF가 없다면 사용자 지정 DMF를 정의할 수 있어요. 사용자 지정 DMF를 만드는 방법은 사용자 지정 데이터 메트릭 함수를 참고해요.
기대값(Expectations)
기대값은 DMF와 결합해 데이터 품질 검사를 만드는 데 사용돼요. DMF가 값을 반환하면 그 값을 기대값의 정의와 비교해 데이터가 검사를 통과했는지 실패했는지 판단해요. 검사에 실패한 반환 값은 기대값 위반으로 보고되므로 적절한 조치를 취할 수 있어요.
Snowsight로 데이터 품질 검사를 만들면 같은 시점에 DMF를 선택하고 기대값을 정의하게 돼요. SQL로 기대값을 직접 다룰 수도 있어요.
이상 감지
이상 감지는 이력 데이터를 사용해 DMF 반환 값이 예측 범위를 벗어났는지(위 또는 아래) 자동으로 감지해요. 현재 Snowflake는 데이터의 양(volume)과 신선도(freshness)에서 이상을 자동으로 감지할 수 있어요. 자세한 내용은 데이터 품질의 이상 감지를 참고해요.
DMF 일정
테이블이나 뷰의 DMF 일정은 DMF가 실행되는 빈도를 결정해요. DMF가 데이터 품질 검사를 구동하므로, DMF 일정은 품질 검사가 수행되는 빈도를 결정해요. 기본적으로 DMF 일정은 DMF를 매시간 한 번 실행해요. 테이블이나 뷰의 일정을 조정하려면 품질 검사 실행 빈도 조정을 참고해요.
DMF 일정은 Snowflake가 이상이 있는지 확인하는 빈도에는 영향을 주지 않아요.
지원되는 테이블 종류
다음 종류의 테이블 객체에 DMF를 설정할 수 있어요.
- 동적 테이블(Dynamic Table)
- 이벤트 테이블(Event Table)
- 외부 테이블(External Table)
- Apache Iceberg™ 테이블
- 구체화된 뷰(Materialized View)
- 테이블(CREATE TABLE) — 임시 및 일시(transient) 테이블 포함
- 뷰(View)
하이브리드 테이블이나 스트림 객체에는 DMF를 설정할 수 없어요.
비용 고려 사항
데이터 품질 검사를 구동하는 DMF는 비용이 발생하는 서버리스 컴퓨팅 리소스를 사용해요. 이 비용의 요금은 Snowflake 서비스 소비 테이블을 참고해요.
서버리스 컴퓨팅 리소스가 소비한 크레딧은 월별 청구서의 "Data Quality Monitoring" 범주 아래에 나열돼요. 이 크레딧에는 사용하는 모든 시스템 또는 사용자 정의 데이터 품질 메트릭이 소비한 컴퓨팅이 포함돼요. DMF를 만드는 것에는 비용이 청구되지 않아요.
- 청구는 예약된 DMF가 객체에 대해 계산될 때만 발생해요. SELECT 문으로 DMF를 호출하는 것 같은 예약되지 않은 데이터 메트릭 함수 사용에는 요금이 부과되지 않아요.
- 로깅 인프라는 메트릭 출력을 이벤트 테이블에 통합해요. 로깅 서비스가 발생시킨 소비는 월별 청구서에 "Logging"으로 표시돼요.
- 이 미리 보기 기간 동안 Snowflake는 백그라운드에서 자동 검사를 실행해 잠재적인 데이터 품질 문제가 있는 인기 스키마를 식별해요. 이러한 검사는 Snowflake가 제공하며 계정에 비용을 부과하지 않아요. 데이터 품질 모니터링 대시보드 사용하기를 참고해요.
팁 — 품질 검사 관련 소비를 추적하려면 다음 뷰를 조회할 수 있어요.
- DATA_QUALITY_MONITORING_USAGE_HISTORY — 계정에서 DMF 사용과 관련된 크레딧 소비를 추적해요.
- METERING_DAILY_HISTORY — 조직 내 계정이 매일 소비한 크레딧을 추적해요.
service_type열이DATA_QUALITY_MONITORING을 지정해요.
복제
복제와 DMF에 대한 자세한 내용은 데이터 메트릭 함수(DMF) 복제를 참고해요.
제한 사항
DMF를 사용할 때 다음 제한 사항을 주의해요.
- 계정당 객체에 대한 DMF 연결은 총 50,000개까지만 가능해요. 테이블이나 뷰에 DMF를 설정할 때마다 연결 하나로 계산돼요.
- 데이터 공유: DMF에 대한 권한을 공유에 부여하거나 공유된 테이블이나 뷰에 DMF를 설정할 수 없어요.
- 객체 태그에 DMF를 설정하는 것은 지원되지 않아요.
- 리더 계정의 객체에는 DMF를 설정할 수 없어요.
- 체험(trial) 계정은 이 기능을 지원하지 않아요.