시스템 데이터 메트릭 함수

시스템 데이터 메트릭 함수

이 주제는 Snowflake가 모든 계정에 제공하는 시스템 데이터 메트릭 함수(DMF, Data Metric Function)에 대한 레퍼런스예요. DMF는 데이터 품질 체크의 구성 요소(building block)예요.

출처: Snowflake User Guide - System DMFs

본문

시스템 DMF에 대해

Snowflake는 공유된 SNOWFLAKE 데이터베이스의 CORE 스키마에 시스템 DMF를 제공해요. 시스템 DMF는 Snowflake가 관리하므로 어떤 시스템 DMF의 이름이나 기능도 변경할 수 없어요.

각 시스템 DMF는 서로 다른 데이터 품질 속성을 측정하게 해 줘요. 테이블이나 뷰에 시스템 DMF를 여러 개 지정하면 거버넌스·규정 준수 요구를 충족하기 위한 더 포괄적인 데이터 품질 측정이 가능해져요.

시스템 DMF 목록

현재 Snowflake는 공통 지표를 직접 정의하지 않고도 측정할 수 있도록 다음 시스템 DMF를 지원해요.

정확도(Accuracy)

시스템 DMF 설명
BLANK_COUNT 컬럼에 공백(blank) 값이 몇 개인지 확인해요.
BLANK_PERCENT 컬럼 값 중 공백이 차지하는 비율을 확인해요.
CASE_FORMAT_VIOLATION_COUNT 문자열 컬럼의 비-NULL 값 중 대소문자가 일관되지 않은 값(전부 대문자·소문자·타이틀 케이스가 아닌 값)이 몇 개인지 확인해요.
CASE_FORMAT_VIOLATION_PERCENT 문자열 컬럼의 비-NULL 값 중 대소문자가 일관되지 않은 비율을 확인해요.
FUTURE_TIMESTAMP_COUNT 날짜/타임스탬프 컬럼 값 중 예정된 평가 시각보다 미래인 값이 몇 개인지 확인해요.
FUTURE_TIMESTAMP_PERCENT 날짜/타임스탬프 컬럼 값 중 예정된 평가 시각보다 미래인 비율을 확인해요.
INVALID_JSON_COUNT 문자열 컬럼의 비-NULL 값 중 유효한 JSON이 아닌 값이 몇 개인지 확인해요.
INVALID_JSON_PERCENT 문자열 컬럼의 비-NULL 값 중 유효한 JSON이 아닌 비율을 확인해요.
INVALID_NUMERIC_TYPE_CAST_COUNT 문자열 컬럼의 비-NULL 값 중 숫자로 파싱할 수 없는 값이 몇 개인지 확인해요.
INVALID_NUMERIC_TYPE_CAST_PERCENT 문자열 컬럼의 비-NULL 값 중 숫자로 파싱할 수 없는 비율을 확인해요.
NEGATIVE_COUNT 숫자 컬럼 값 중 음수인 값이 몇 개인지 확인해요.
NEGATIVE_PERCENT 숫자 컬럼 값 중 음수인 비율을 확인해요.
NULL_COUNT 컬럼에 NULL 값이 몇 개인지 확인해요.
NULL_PERCENT 컬럼 값 중 NULL인 비율을 확인해요.
SPECIAL_CHARACTER_COUNT 문자열 컬럼의 비-NULL 값 중 영숫자 범위 밖의 문자를 포함한 값이 몇 개인지 확인해요.
SPECIAL_CHARACTER_PERCENT 문자열 컬럼의 비-NULL 값 중 영숫자 범위 밖의 문자를 포함한 비율을 확인해요.
UNTRIMMED_STRING_COUNT 문자열 컬럼의 비-NULL 값 중 앞뒤에 공백이 있는 값이 몇 개인지 확인해요.
UNTRIMMED_STRING_PERCENT 문자열 컬럼의 비-NULL 값 중 앞뒤에 공백이 있는 비율을 확인해요.
ZERO_COUNT 숫자 컬럼 값 중 0인 값이 몇 개인지 확인해요.
ZERO_PERCENT 숫자 컬럼 값 중 0인 비율을 확인해요.

신선도(Freshness)

시스템 DMF 설명
FRESHNESS 타임스탬프 컬럼이나 가장 최근 DML 연산을 기준으로 테이블 데이터의 신선도를 확인해요.
DATA_METRIC_SCHEDULE_TIME 커스텀 신선도 지표를 정의해요.

스키마(Schema)

시스템 DMF 설명
SCHEMA_CHANGE_COUNT 연속된 평가 사이에 감지된 스키마 변경(컬럼 추가·삭제·이름 변경·타입 변경) 횟수를 세요.

통계(Statistics)

시스템 DMF 설명
APPROX_QUANTILE_25 숫자 컬럼의 대략적인 25번째 백분위 값을 확인해요.
APPROX_QUANTILE_50 숫자 컬럼의 대략적인 50번째 백분위(중앙값) 값을 확인해요.
APPROX_QUANTILE_99 숫자 컬럼의 대략적인 99번째 백분위 값을 확인해요.
AVG 컬럼의 평균값을 확인해요.
EXTREME_OUTLIER_COUNT 숫자 컬럼 값 중 그 컬럼의 극단 비대칭 Tukey 울타리(fence) 밖에 있는 값이 몇 개인지 확인해요.
EXTREME_OUTLIER_IQR_COUNT 숫자 컬럼 값 중 극단 Tukey 울타리(사분위 범위의 3배) 밖에 있는 값이 몇 개인지 확인해요.
EXTREME_OUTLIER_IQR_PERCENT 숫자 컬럼 값 중 극단 Tukey 울타리(사분위 범위의 3배) 밖에 있는 비율을 확인해요.
EXTREME_OUTLIER_PERCENT 숫자 컬럼 값 중 극단 비대칭 Tukey 울타리 밖에 있는 비율을 확인해요.
EXTREME_OUTLIER_ZSCORE_COUNT 숫자 컬럼 값 중 Z-score가 4.5보다 큰 값이 몇 개인지 확인해요.
EXTREME_OUTLIER_ZSCORE_PERCENT 숫자 컬럼 값 중 Z-score가 4.5보다 큰 비율을 확인해요.
MAX 컬럼의 최댓값을 확인해요.
MEDIAN 숫자 컬럼의 정확한 중앙값을 확인해요.
MIN 컬럼의 최솟값을 확인해요.
OUTLIER_COUNT 숫자 컬럼 값 중 비대칭 Tukey 울타리 밖에 있는 값이 몇 개인지 확인해요.
OUTLIER_IQR_COUNT 숫자 컬럼 값 중 표준 Tukey 울타리(사분위 범위의 1.5배) 밖에 있는 값이 몇 개인지 확인해요.
OUTLIER_IQR_PERCENT 숫자 컬럼 값 중 표준 Tukey 울타리(사분위 범위의 1.5배) 밖에 있는 비율을 확인해요.
OUTLIER_PERCENT 숫자 컬럼 값 중 비대칭 Tukey 울타리 밖에 있는 비율을 확인해요.
OUTLIER_ZSCORE_COUNT 숫자 컬럼 값 중 Z-score가 3보다 큰 값이 몇 개인지 확인해요.
OUTLIER_ZSCORE_PERCENT 숫자 컬럼 값 중 Z-score가 3보다 큰 비율을 확인해요.
STDDEV 컬럼의 표준 편차 값을 확인해요.
STRING_LENGTH_AVG 문자열 컬럼의 비-NULL 값 평균 문자열 길이를 확인해요.
STRING_LENGTH_MAX 문자열 컬럼의 비-NULL 값 최대 문자열 길이를 확인해요.
STRING_LENGTH_MIN 문자열 컬럼의 비-NULL 값 최소 문자열 길이를 확인해요.
VARIANCE 숫자 컬럼의 분산 값을 확인해요.

유일성(Uniqueness)

시스템 DMF 설명
ACCEPTED_VALUES 컬럼 값이 불리언 표현식과 일치하는지 확인해요.
DUPLICATE_COUNT NULL 값을 포함해 컬럼의 중복 값 개수를 확인해요.
UNIQUE_COUNT 컬럼의 고유하고 NULL이 아닌 값의 개수를 확인해요.

용량(Volume)

시스템 DMF 설명
ROW_COUNT 테이블이나 뷰에 레코드가 몇 개인지 확인해요.

참고: 데이터 품질 모니터링은 Enterprise Edition 기능이에요. 업그레이드를 문의하려면 Snowflake 지원에 연락해 주세요.

더 알아보기