다음을 통해 공유


Unity 카탈로그 관리 테이블에 대한 예측 최적화

이 페이지에서는 Azure Databricks에서 Unity 카탈로그 관리 테이블에 대한 유지 관리 작업을 자동으로 실행하는 예측 최적화에 대해 설명합니다.

참고

예측 최적화는 2024년 11월 11일 이후에 만든 계정에 대해 기본적으로 사용하도록 설정됩니다. Databricks는 2025년 5월 7일에 기존 계정을 사용하도록 설정하기 시작했습니다. 이 출시는 점진적이며 2026년 4월까지 완료될 예정입니다. 계정이 이미 사용하도록 설정되어 있는지 확인하려면 예측 최적화를 사용할 수 있는지 여부를 확인하세요.

예측 최적화를 사용하도록 설정하면 Databricks는 자동으로 다음을 수행합니다.

  • 유지 관리 작업의 이점을 얻을 수 있는 테이블을 식별하고 실행할 작업을 큐에 대기합니다.
  • 관리되는 테이블에 데이터를 쓸 때 통계를 수집합니다.

이렇게 하면 불필요한 유지 관리 실행 및 수동으로 성능 추적 및 문제 해결의 부담이 없어지게 됩니다.

Databricks는 모든 Unity 카탈로그 관리 테이블에 대한 예측 최적화를 권장합니다. 예를 들어 자동 액체 클러스터링에서는 데이터 사용 패턴에 따라 데이터 레이아웃의 지능형 최적화를 사용합니다. 테이블에 대한 액체 클러스터링 사용을 참조하세요.

예측 최적화는 어떤 작업을 실행하나요?

예측 최적화는 Unity 카탈로그 관리 테이블에서 다음 작업을 실행합니다.

운영 설명
OPTIMIZE 활성화된 테이블에 대한 단계적 클러스터링을 트리거합니다. 테이블에 대한 액체 클러스터링 사용을 참조하세요. 파일 크기를 최적화하여 쿼리 성능을 향상시킵니다. 을 참조하여 데이터 파일 레이아웃을 최적화하세요.
VACUUM 테이블에서 더 이상 참조하지 않는 데이터 파일을 삭제하여 스토리지 비용을 줄입니다. 진공사용하여 사용하지 않는 데이터 파일 제거를 참조하세요.
ANALYZE 통계의 증분 업데이트를 트리거하여 쿼리 성능을 향상시킵니다. 다음을 참조하세요 ANALYZE TABLE . 컴퓨팅 통계.

참고

OPTIMIZE는 예측 최적화로 실행할 때 실행되지 않습니다. Z 순서를 사용하는 테이블에서 예측 최적화는 Z 순서 파일을 무시합니다.

자동 액체 클러스터링을 사용하는 경우 예측 최적화는 데이터를 클러스터링하기 전에 새 클러스터링 키를 선택할 수 있습니다. 자동 액체 클러스터링 참조하세요.

경고

보존 기간은 VACUUM 테이블 속성 delta.deletedFileRetentionDuration에 의해 결정되며, 기본적으로 7일로 설정됩니다. VACUUM 는 해당 창 내에서 델타 테이블 버전에서 더 이상 참조되지 않는 데이터 파일을 제거합니다. 더 긴 기간(예: 연장된 시간 이동 지원)에 대한 데이터를 유지하려면 예측 최적화를 사용하도록 설정하기 전에 이 속성을 설정합니다.

ALTER TABLE table_name SET TBLPROPERTIES ('delta.deletedFileRetentionDuration' = '30 days');

컴퓨팅 및 청구

예측 최적화는 ANALYZE, OPTIMIZE, 및 VACUUM 작업을 서버리스 컴퓨팅을 사용하여 실행합니다. 서버리스 작업 SKU를 사용하여 이 컴퓨팅 작업에 대한 계정이 청구됩니다.

Databricks 관리되는 서비스에 대한 가격 책정을 참조하세요. 시스템 테이블을 사용하여 예측 최적화 추적을 참조하세요.

사전 요구 사항

예측 최적화를 사용하려면 다음 요구 사항을 충족해야 합니다.

  • Azure Databricks 작업 영역은 지원되는 지역의프리미엄 계획에 있어야 합니다.
  • SQL 웨어하우스 또는 Databricks Runtime 12.2 LTS 이상을 사용해야 합니다.
  • Unity 카탈로그 관리 테이블만 지원됩니다.

예측 최적화 활성화

계정, 카탈로그 또는 스키마에 대해 예측 최적화를 사용하도록 설정할 수 있습니다. 모든 Unity 카탈로그 관리 테이블은 기본적으로 계정 값을 상속합니다. 카탈로그 또는 스키마 수준에서 계정 기본값을 재정의할 수 있습니다.

예측 최적화를 사용하거나 사용하지 않도록 설정하려면 다음 권한이 있어야 합니다.

Unity 카탈로그 개체 특권
어카운트 계정 관리자
카탈로그 카탈로그 소유자
스키마 스키마 소유자

계정에 대한 예측 최적화 사용 또는 사용 안 함

계정 관리자는 계정의 모든 메타스토어에 대해 예측 최적화를 사용하도록 설정할 수 있습니다. 카탈로그 및 스키마는 기본적으로 이 설정을 상속하지만 어느 수준에서든 재정의할 수 있습니다.

  1. 계정 콘솔로 이동합니다.
  2. 설정으로 이동한 다음 기능 사용으로 이동합니다.
  3. 예측 최적화 옆에 원하는 옵션(예: 사용)을 선택합니다.

참고

  • 예측 최적화를 지원하지 않는 지역의 메타스토어는 사용하도록 설정되지 않습니다.
  • 계정 수준에서 예측 최적화를 사용하지 않도록 설정해도 특별히 사용하도록 설정한 카탈로그 또는 스키마에는 사용하지 않도록 설정되지 않습니다.

카탈로그 또는 스키마에 대한 예측 최적화 사용 또는 사용 안 함

예측 최적화는 상속 모델을 사용합니다. 카탈로그에 대해 사용하도록 설정된 경우 해당 카탈로그의 스키마는 설정을 상속하고, 사용하도록 설정된 스키마 내의 테이블도 이 설정을 상속합니다. 카탈로그 또는 스키마에 대한 예측 최적화를 명시적으로 사용하거나 사용하지 않도록 설정하여 이 동작을 재정의할 수 있습니다.

참고

계정 수준에서 사용하도록 설정하기 전에 카탈로그 또는 스키마 수준에서 예측 최적화를 사용하지 않도록 설정할 수 있습니다. 나중에 계정 수준에서 예측 최적화를 사용하도록 설정하면 해당 개체의 테이블에 대해 차단된 상태로 유지됩니다.

다음 구문을 사용하여 부모 개체에서 상속하도록 예측 최적화를 사용하거나 사용하지 않도록 설정하거나 다시 설정합니다.

ALTER CATALOG [catalog_name] { ENABLE | DISABLE | INHERIT } PREDICTIVE OPTIMIZATION;
ALTER { SCHEMA | DATABASE } schema_name { ENABLE | DISABLE | INHERIT } PREDICTIVE OPTIMIZATION;

예측 최적화를 사용할 수 있는지 확인

Predictive Optimization 필드는 예측 최적화를 사용할 수 있는지 여부를 보여 주는 Unity 카탈로그 속성입니다. 부모 개체에서 설정을 상속하면 필드 값이 이를 나타냅니다.

다음 구문을 사용하여 상태를 확인합니다.

DESCRIBE (CATALOG | SCHEMA | TABLE) EXTENDED name

시스템 테이블을 사용하여 예측 최적화 추적

Databricks는 예측 최적화 작업, 비용 및 영향에 대한 관찰 가능성을 위한 시스템 테이블을 system.storage.predictive_optimization_operations_history 제공합니다. 예측 최적화 시스템 테이블 참조을 참조하십시오.

시스템 테이블이 작업을 실패 FAILED: PRIVATE_LINK_SETUP_ERROR로 표시하는 경우 서버리스 프라이빗 링크가 올바르게 구성되지 않을 수 있습니다. Azure 리소스에 대한 프라이빗 연결 구성을 참조하세요.

제한 사항

예측 최적화는 다음 테이블 형식에서 실행되지 않습니다.

  • 워크스페이스에 델타 공유 수신자로 로드된 테이블
  • 외부 테이블