다음을 통해 공유


Delta Sharing 송신 비용 모니터링 및 관리(공급자용)

이 문서에서는 Delta Sharing을 사용하여 데이터 및 AI 자산을 공유할 때 클라우드 공급업체 송신 비용을 모니터링하고 관리하는 데 사용할 수 있는 도구에 대해 설명합니다.

다른 데이터 공유 플랫폼과 달리 Delta Sharing에는 데이터 복제가 필요하지 않습니다. 이 모델에는 많은 장점이 있지만 이는 클라우드 또는 지역에서 데이터를 공유할 때 클라우드 공급업체가 데이터 송신 요금을 부과할 수도 있음을 의미합니다. Delta Sharing을 사용하여 지역 내에서 데이터 및 AI 자산을 공유하는 경우 송신 비용이 발생하지 않습니다.

송신 요금을 모니터링하고 관리하기 위해 Databricks는 다음을 제공합니다.

송신 비용을 방지하기 위해 데이터 복제

송신 비용을 방지하는 한 가지 방법은 공급자가 받는 사람이 사용하는 지역에서 공유 데이터의 로컬 복제본을 만들고 동기화하는 것입니다. 또 다른 방법은 받는 사람이 활성 쿼리를 위해 공유 데이터를 로컬 지역에 복제하고 공유 테이블과 로컬 복제본 간의 동기화를 설정하는 것입니다. 이 섹션에서는 여러 복제 패턴에 대해 설명합니다.

증분 복제에 Delta 딥 클론 사용

공급자는 Delta 테이블을 공유하는 지역 전체의 외부 위치에 복제하는 데 DEEP CLONE을(를) 사용할 수 있습니다. 딥 클론에서는 원본 테이블 데이터와 메타데이터를 복제 대상에 복사합니다. 또한 딥 클론을 사용하면 원본 테이블에서 새 데이터를 식별하고 그에 따라 대상을 새로 고쳐 증분 업데이트를 사용할 수 있습니다.

CREATE TABLE [IF NOT EXISTS] table_name DEEP CLONE source_table_name
   [TBLPROPERTIES clause] [LOCATION path];

다음 명령을 사용하여 Databricks 작업을 예약하여 공유 테이블의 최근 업데이트로 대상 테이블 데이터를 증분 방식으로 새로 고칠 수 있습니다.

CREATE OR REPLACE TABLE table_name DEEP CLONE source_table_name;

Azure Databricks에서 테이블 복제워크플로 예약 및 오케스트레이션을 참조하세요.

증분 복제를 위해 공유 테이블에서 CDF(변경 데이터 피드) 사용

테이블이 해당 CDF와 공유되면 받는 사람은 변경 내용에 액세스하여 사용자가 쿼리를 수행하는 테이블의 로컬 복사본에 병합할 수 있습니다. 이 시나리오에서 데이터에 대한 수신자 액세스는 지역 경계를 넘지 않으며 송신은 로컬 복사본을 새로 고치는 것으로 제한됩니다. 받는 사람이 Databricks에 있는 경우 Databricks 워크플로 작업을 사용하여 변경 내용을 로컬 복제본으로 전파할 수 있습니다.

CDF와 테이블을 공유하려면 테이블에서 CDF를 사용하도록 설정하고 공유해야 합니다 WITH HISTORY.

CDF 사용에 대한 자세한 내용은 Azure Databricks 에서 Delta Lake 변경 데이터 피드 사용공유에 테이블 추가를 참조하세요.

Cloudflare R2 복제본 사용 또는 스토리지를 R2로 마이그레이션

Cloudflare R2 개체 스토리지에는 송신 비용이 발생하지 않습니다. R2에 공유하는 데이터를 복제하거나 마이그레이션하면 송신 수수료 없이 Delta 공유를 사용하여 데이터를 공유할 수 있습니다. 이 섹션에서는 R2 위치에 데이터를 복제하고 원본 테이블에서 증분 업데이트를 사용하도록 설정하는 방법을 설명합니다.

요구 사항

  • Unity 카탈로그를 사용하도록 설정된 Databricks 작업 영역.
  • Databricks Runtime 14.3 이상 또는 SQL Warehouse 2024.15 이상
  • Cloudflare 계정. https://dash.cloudflare.com/sign-up을 참조하세요.
  • Cloudflare R2 관리자 역할. Cloudflare 역할 설명서를 참조하세요.
  • 작업 영역에 연결된 Unity 카탈로그 메타스토어에 대한 CREATE STORAGE CREDENTIAL 권한 계정 관리자 및 메타스토어 관리자는 기본적으로 이러한 권한을 가집니다.
  • 메타스토어와 외부 위치에서 참조되는 스토리지 자격 증명 모두에 대한 CREATE EXTERNAL LOCATION 권한입니다. 메타스토어 관리자는 기본적으로 다음 권한을 갖습니다.
  • 외부 위치에 대한 CREATE MANAGED STORAGE 권한입니다.
  • 메타스토어의 CREATE CATALOG 메타스토어 관리자는 기본적으로 다음 권한을 갖습니다.

Azure Databricks에서 R2 버킷을 외부 위치로 탑재

  1. Cloudflare R2 버킷을 만듭니다.

    R2 버킷 구성을 참조하세요.

  2. R2 버킷에 대한 액세스를 제공하는 스토리지 자격 증명을 Unity 카탈로그에 만듭니다.

    스토리지 자격 증명 만들기를 참조하세요.

  3. 스토리지 자격 증명을 사용하여 Unity 카탈로그에 외부 위치를 만듭니다.

    클라우드 스토리지를 Azure Databricks에 연결하기 위한 외부 위치 생성 방법을 참조하세요.

외부 위치를 사용하여 새 카탈로그 만들기

새 외부 위치를 관리되는 스토리지 위치로 사용하는 카탈로그를 만듭니다.

카탈로그 만들기를 참조하세요.

카탈로그를 만들 때 다음을 수행합니다.

카탈로그 탐색기

  • 표준 카탈로그 유형을 선택합니다.
  • 스토리지 위치 아래에서 스토리지 위치 선택을 선택하고 외부 위치로 정의한 R2 버킷의 경로를 입력합니다. 예를 들어 r2://mybucket@my-account-id.r2.cloudflarestorage.com

SQL

외부 위치로 정의한 R2 버킷의 경로를 사용합니다. 예시:

  CREATE CATALOG IF NOT EXISTS my-r2-catalog
    MANAGED LOCATION 'r2://mybucket@my-account-id.r2.cloudflarestorage.com'
    COMMENT 'Location for managed tables and volumes to share using Delta Sharing';

새 카탈로그의 테이블에 공유하려는 데이터 복제

Azure Data Lake Storage Gen2의 테이블을 관리되는 스토리지에 R2를 사용하는 새 카탈로그에 복제하는 데 DEEP CLONE을(를) 사용합니다. 딥 클론에서는 원본 테이블 데이터와 메타데이터를 복제 대상에 복사합니다. 또한 딥 클론을 사용하면 원본 테이블에서 새 데이터를 식별하고 그에 따라 대상을 새로 고쳐 증분 업데이트를 사용할 수 있습니다.

CREATE TABLE IF NOT EXISTS new_catalog.schema1.new_table DEEP CLONE old_catalog.schema1.source_table
  LOCATION 'r2://mybucket@my-account-id.r2.cloudflarestorage.com';

다음 명령을 사용하여 Databricks 작업을 예약하여 원본 테이블의 최근 업데이트로 대상 테이블 데이터를 증분 방식으로 새로 고칠 수 있습니다.

CREATE OR REPLACE TABLE new_catalog.schema1.new_table DEEP CLONE old_catalog.schema1.source_table;

Azure Databricks에서 테이블 복제워크플로 예약 및 오케스트레이션을 참조하세요.

새로운 테이블 공유

공유를 만들 때 R2에 저장된 새 카탈로그에 있는 테이블을 추가합니다. 프로세스는 공유에 테이블을 추가하는 것과 같습니다.

Delta 공유에 대한 공유 만들기 및 관리를 참조하세요.