데이터 품질 및 데이터 메트릭 함수 소개

Data Quality는 데이터 메트릭 함수(DMFs)를 사용하며, 여기에는 Snowflake 제공 시스템 DMFs와 사용자 정의 DMFs가 포함되어 데이터의 상태와 무결성을 모니터링합니다. DMFs를 사용하여 최신성 및 중복, NULLs, 행 및 고유 값을 측정하는 개수 등의 주요 메트릭을 측정할 수 있습니다

데이터 품질 및 DMFs 정보

Data Quality는 데이터 기반 의사 결정을 내리기 위해 데이터의 상태 저장 및 무결성을 파악하는 데 중점을 두며, 여기에는 데이터의 최신성, 열의 null 값 또는 빈 필드와 비교한 실제 데이터 값에 대한 정확성 등이 포함됩니다. DMFs를 사용하여 데이터 품질을 측정할 수 있습니다. Snowflake는 SNOWFLAKE.CORE 스키마에 내장된 시스템 DMFs를 제공하여 공통 메트릭을 정의할 필요 없이 측정할 수 있습니다. 또한 사용자 지정 DMFs를 정의하여 데이터 품질 측정을 보다 정밀하게 미세 조정할 수 있으며, 이러한 DMFs는 사용자가 선택한 데이터베이스와 스키마에 저장됩니다.

시스템 DMFs, 사용자 지정 DMFs 또는 둘 다를 사용하든, 테이블 또는 뷰에 DMF를 할당하면 Snowflake는 데이터 메트릭 함수에 대한 전용 이벤트 테이블 에 DMF 예약 결과를 기록합니다. DMF가 호출되는 빈도에 대한 빈도를 지정할 수 있습니다. 예를 들어, 특정 테이블의 DMFs를 매일 3회 실행하도록 예약할 수 있습니다. 회사의 내부 데이터 품질 요구 사항에 따라 필요에 따라 빈도를 수정할 수 있습니다. 테이블에 설정된 모든 DMFs는 동일한 일정을 따릅니다.

DMFs를 실행하도록 예약한 후에는 데이터 품질에 변경 사항이 발생할 때 이를 알려주는 경고를 구성할 수 있습니다. DMF와 경고 기능을 결합하면 측정 중인 테이블에서 데이터 품질에 대한 일관적인 임계값 알림을 받을 수 있습니다. 이러한 인사이트는 다음을 활성화하여 데이터 거버넌스 태세를 강화합니다.

  • 데이터 관리자는 특정 메트릭을 기준으로 데이터의 현재 상태를 파악할 수 있습니다.

  • 데이터 엔지니어는 중요한 테이블과 뷰에 대해 작업을 즉시 수행합니다.

  • 플랫폼 관리자는 데이터 품질 모니터링이 비용, 일관성, 성능을 고려하여 수행되도록 보장해야 합니다.

데이터 정의, 측정, 모니터링을 위한 데이터 품질 워크플로는 추가 워크로드에 적용될 수 있습니다.

자세한 내용은 다음 섹션을 참조하십시오.

지원되는 테이블 종류

다음 종류의 테이블 오브젝트에 DMF를 설정할 수 있습니다.

  • 동적 테이블

  • 이벤트 테이블

  • 외부 테이블

  • Apache Iceberg™ 테이블

  • 구체화된 뷰

  • 임시 및 일시적 테이블을 포함한 테이블(CREATE TABLE)

하이브리드 테이블이나 스트림 오브젝트에는 DMF를 설정할 수 없습니다.

청구 및 가격

Snowflake는 이 기능을 지원하기 위해 가상 웨어하우스 오브젝트를 생성하고 관리합니다. 이 기능은 일반적인 SQL 쿼리 워크플로 외에 추가적인 가상 웨어하우스 리소스를 프로비저닝하거나 사용할 필요 없이 사용할 수 있습니다.

DMF를 호출하면 서버리스 컴퓨팅 리소스가 사용되며, 이는 Snowflake 서비스 사용 테이블 에 자세히 설명되어 있습니다. 이 테이블에는 클라우드 리전Snowflake Edition 별 크레딧 가격이 나열되어 있습니다.

사용한 크레딧은 월별 청구서의 “Data Quality Monitoring” 카테고리에 목록으로 표시됩니다. 이러한 크레딧에는 사용자가 사용하는 모든 시스템 또는 사용자 정의 데이터 품질 측정 항목에서 소비하는 컴퓨팅 비용이 포함됩니다. DMF 생성에 대한 요금은 청구되지 않습니다.

  • 오브젝트에 대해 예약된 DMF가 계산된 경우에만 과금이 발생합니다. SELECT 문으로 DMF를 호출하는 등 예정에 없던 데이터 메트릭 함수 사용량에 대해서는 요금이 청구되지 않습니다.

  • 로깅 인프라는 이벤트 테이블의 메트릭 출력을 통합합니다. 로깅 서비스로 인해 발생한 소비량은 월별 청구서에 “로깅”으로 표시됩니다.

자세한 내용은 서버리스 크레딧 사용 섹션을 참조하십시오.

DATA_QUALITY_MONITORING_USAGE_HISTORY 에 쿼리하여 계정에서 DMFs 사용과 관련된 크레딧 소비를 추적할 수 있습니다.

이점

DMFs를 사용하면 데이터 품질에 대한 노력이 향상되고 다음과 같은 이점이 있습니다.

규정 준수 지원:

데이터의 상태를 파악하면 규정 준수 및 규제 표준을 어떻게 준수하는지 입증하기가 더 쉬워집니다. 이를 통해 위험이 감소하고 데이터 거버넌스 태세가 강화됩니다.

서비스 수준 계약(SLAs) 충족:

최신성과 같은 정확한 데이터 메트릭은 데이터 공급자, 데이터 컨슈머, 고객 간의 SLAs를 충족하는 데 도움이 됩니다.

신뢰성:

DMFs는 데이터 검증을 제공하여 신뢰할 수 있는 데이터 기반 의사결정을 지원합니다.

일관성:

시스템 DMFs를 사용하고 적절한 사용자 지정 DMFs를 반복적으로 사용하면 시간이 지나도 일관된 데이터 품질 평가가 이루어집니다. 이를 통해 데이터의 신뢰성이 향상됩니다.

특정 사용 사례에 적합하도록 최적화:

사용자 지정 DMFs를 사용하면 데이터 엔지니어가 데이터를 측정할 수 있는 정확한 메트릭을 설계할 수 있어 데이터의 대상 애플리케이션에 대한 보다 정확한 최적화가 가능합니다.

자동 측정:

테이블 또는 뷰에 DMF를 할당하고 DMF를 실행할 일정을 지정하면 DMF 호출이 자동으로 이루어집니다. 데이터 품질을 적극적으로 측정하는 데 추가 작업이 필요하지 않습니다. 자세한 내용은 실행할 DMFs 예약DMF 결과 보기 섹션을 참조하십시오.

성능 관리:

Snowflake는 DMFs의 사용 방식을 평가하고 최적의 쿼리 성능을 제공하기 위해 쿼리 평가를 최적화합니다.

고려 사항

  • 복제 및 DMFs에 대한 자세한 내용은 데이터 메트릭 함수(DMFs) 복제 섹션을 참조하십시오.

  • 테이블에 DMF를 설정하려면 테이블 소유자 역할에 전역(계정 수준) EXECUTE DATA METRIC FUNCTION 권한이 부여되어야 합니다. 따라서 테이블 소유자 역할은 CREATE ROLE 명령으로 생성한 사용자 정의 사용자 지정 역할이거나 SYSADMIN 역할과 같은 시스템 역할이어야 합니다.

    데이터베이스 역할은 해당 역할이 있는 데이터베이스에 한해 적용되므로 데이터베이스 역할에 전역 권한을 부여할 수 없습니다. 데이터베이스 역할이 소유한 테이블이 있고 해당 테이블에 DMF를 설정하려는 경우 테이블의 OWNERSHIP 권한을 사용자 지정 역할 또는 시스템 역할로 이전해야 합니다. 자세한 내용은 GRANT OWNERSHIP 섹션을 참조하십시오.

제한 사항

DMFs를 사용할 때는 다음 제한 사항에 유의하십시오.

  • 오브젝트에 DMFs 설정하기:

    계정당 오브젝트에 대해 총 10,000개까지만 DMFs를 연결할 수 있습니다. 테이블 또는 뷰에서 DMF를 설정하는 각 인스턴스는 1개의 연결로 계산됩니다.

  • 데이터 공유:

    공유 테이블 또는 뷰를 공유하거나 공유 테이블 또는 뷰에 DMF를 설정할 수 있는 권한을 DMF에 부여할 수 없습니다.

  • 오브젝트 태그에 DMF를 설정하는 기능은 지원되지 않습니다.

  • 복제:

    • CLONE 연산과 CREATE TABLE … LIKE 연산을 사용해도 대상 오브젝트에 DMF가 할당되지 않습니다.

    • DMF를 포함하는 데이터베이스나 스키마를 복제하면 DMF가 대상 데이터베이스나 스키마에 복제됩니다.

  • 독자 계정 의 오브젝트에는 DMF를 설정할 수 없습니다.

  • 평가판 계정에서는 이 기능을 지원하지 않습니다.

DMFs 관리하기

이 섹션에는 DMFs 관리 방법에 대한 정보가 요약되어 있습니다.

또한 애플리케이션 역할을 부여하여 DMFs의 결과에 대한 액세스 권한을 관리할 수 있습니다. 자세한 내용은 DMF 결과에 대한 액세스 관리하기 섹션을 참조하십시오.

DMF 권한

Snowflake는 DMF와 함께 사용할 수 있는 다음 권한을 지원합니다.

스키마의 모든 오브젝트에 대해 작업하려면 상위 데이터베이스 및 스키마에 대한 USAGE 권한도 필요합니다.

권한

오브젝트

사용법

CREATE DATA METRIC FUNCTION

스키마

스키마에서 새 DMF 을 생성할 수 있습니다.

USAGE

데이터 메트릭 함수

DMF 호출을 사용할 수 있도록 설정합니다.

EXECUTE DATA METRIC FUNCTION

계정

DMF를 호출할 때 서버리스 컴퓨팅 리소스를 사용할 수 있도록 설정합니다.

OWNERSHIP

데이터 메트릭 함수

DMF의 소유권을 이전하며, DMF에 대한 모든 권한을 부여할 수 있습니다. DMF의 속성 대부분을 변경하는 데 필요합니다.

또한 테이블 또는 뷰에서 DMF 할당을 관리하려면 이러한 권한이 있는 역할을 사용합니다.

권한

오브젝트

참고

OWNERSHIP

테이블 또는 뷰

OWNERSHIP is a special privilege on an object that is automatically granted to the role that created the object, but can also be transferred using the GRANT OWNERSHIP command to a different role by the owning role (or any role with the MANAGE GRANTS privilege).

USAGE

데이터 메트릭 함수

이 권한은 사용자가 정의한 DMFs에 대한 권한입니다.

시스템 DMFs의 경우 테이블 소유자 역할에 SNOWFLAKE.DATA_METRIC_USER 데이터베이스 역할을 부여합니다.

USAGE

데이터베이스, 스키마

이러한 오브젝트는 사용자 정의 DMF를 저장하는 데이터베이스 및 스키마입니다.

EXECUTE DATA METRIC FUNCTION

계정

이 권한을 사용하면 서버리스 컴퓨팅 리소스에 액세스할 수 있는 역할을 제어할 수 있습니다.

DMF 명령 참조

Snowflake는 DMFs와 함께 사용할 수 있는 다음 명령을 지원합니다.

또한 ALTER TABLEALTER VIEW 명령을 사용하여 다음을 수행합니다.

  • 열에 데이터 메트릭 함수를 추가하거나 삭제합니다.

  • 테이블이나 뷰 자체에 데이터 메트릭 함수를 추가하거나 삭제합니다.

  • 데이터 메트릭 함수 실행을 예약합니다.

대표적인 예는 데이터 메트릭 함수 작업 섹션을 참조하십시오.

GRANT <권한>REVOKE <권한> 명령을 사용할 때 다음을 수행할 수 있습니다.

  • 계정 역할이나 데이터베이스 역할에 권한을 부여할 수 있습니다. 애플리케이션 역할 등 다른 역할 유형은 지원되지 않습니다.

  • 지원되는 DMF 권한 또는 ALL PRIVILEGES 를 지정합니다.

GRANT OWNERSHIP 명령을 사용하여 소유권을 계정 역할로 이전할 수 있습니다.

GRANT 및 REVOKE 명령은 사용자가 생성한 사용자 정의 DMF의 인자를 지정해야 합니다 예:

GRANT USAGE ON FUNCTION
  governance.dmfs.count_positive_numbers(TABLE(NUMBER, NUMBER, NUMBER))
  TO data_engineer;
Copy

DMF 명령, 작업 및 권한 요약

다음 테이블은 DMF 권한과 DDL 작업 사이의 관계를 요약하여 보여줍니다.

스키마의 모든 오브젝트에 대해 작업하려면 상위 데이터베이스 및 스키마에 대한 USAGE 권한도 필요합니다.

테이블의 요구 사항 외에도 시스템 DMF를 사용하는 경우 ACCOUNTADMIN 역할 또는 공유 SNOWFLAKE 데이터베이스에서 IMPORTED PRIVILEGES가 부여된 역할을 사용합니다.

작업

필요한 권한

시스템 DMF를 사용합니다.

시스템 데이터 메트릭 함수 섹션을 참조하십시오.

CREATE DATA METRIC FUNCTION 명령을 사용하여 DMF를 생성합니다.

스키마에 대한 CREATE DATA METRIC FUNCTION 권한이 있는 역할.

ALTER FUNCTION 명령을 사용하여 DMF를 수정합니다.

DMF에 대한 OWNERSHIP 권한이 있는 역할.

ALTER TABLE 또는 ALTER VIEW 명령을 사용하여 테이블이나 뷰에서 DMF를 추가하거나 DMF를 삭제합니다.

다음 권한이 있는 역할:

  • 테이블에 대한 OWNERSHIP

  • DMF에 대한 USAGE

  • 계정에 대한 EXECUTE DATA METRIC FUNCTION 권한

DATA_METRIC_FUNCTION_REFERENCES 함수를 호출하여 메트릭 참조를 식별합니다.

다음 둘 다:

  • DMF에 대한 USAGE 권한이 있는 역할.

  • DMF가 추가된 테이블 또는 뷰에 대해 SELECT 권한이 있는 역할.

DESCRIBE FUNCTION 명령을 사용하여 DMF를 설명합니다.

DMF에 대한 USAGE 권한이 있는 역할.

DROP FUNCTION 명령을 사용하여 현재 또는 지정된 스키마에서 DMF를 삭제합니다.

DMF에 대한 OWNERSHIP 권한이 있는 역할.

SHOW DATA METRIC FUNCTIONS 또는 SHOW FUNCTIONS 명령을 사용하여 데이터 메트릭 함수를 나열합니다.

DMF에 대한 USAGE 권한이 있는 역할.

SELECT를 사용하여 DMF를 수동으로 호출합니다.

전역 EXECUTE DATA METRIC FUNCTION 권한이 있는 역할 또는 DMF에 대한 USAGE 권한이 있는 역할.

DMF 결과를 확인합니다.

자세한 내용은 DMF 결과 보기 섹션을 참조하십시오.