Monitorare e gestire i costi di uscita di OpenSharing (per i provider)

Questa pagina descrive gli strumenti che è possibile usare per monitorare e gestire i costi di uscita dei fornitori di cloud quando si condividono i dati e gli asset di intelligenza artificiale usando OpenSharing.

A differenza di altre piattaforme di condivisione dati, OpenSharing non richiede la replica dei dati. Questo modello presenta molti vantaggi, ma il fornitore del cloud potrebbe addebitare costi in uscita ai dati quando si condividono i dati tra cloud o aree. Se si usa OpenSharing per condividere i dati e gli asset di intelligenza artificiale all'interno di un'area, non vengono addebitati costi in uscita.

Se si usa SecureConnect, Azure Databricks fattura il trasferimento dei dati anziché il fornitore del cloud.

Per monitorare e gestire gli addebiti in uscita, Databricks fornisce:

Replicare i dati per evitare costi di uscita

Un approccio per evitare i costi in uscita consiste nel consentire al provider di creare e sincronizzare repliche locali di dati condivisi nelle aree in cui utilizzano i destinatari. Un altro approccio consiste nel consentire ai destinatari di clonare i dati condivisi nelle aree locali per l'esecuzione di query attive, configurando le sincronizzazioni tra la tabella condivisa e il clone locale. In questa sezione vengono illustrati diversi modelli di replica.

Usare il clone avanzato Delta per la replica incrementale

I fornitori possono utilizzare DEEP CLONE per replicare le tabelle Delta verso posizioni esterne nelle regioni con cui condividono. I cloni profondi copiano i dati e i metadati della tabella di origine nella destinazione del clone. I cloni profondi consentono anche aggiornamenti incrementali identificando i nuovi dati nella tabella di origine e aggiornando di conseguenza la destinazione.

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

È possibile pianificare un processo di Databricks per aggiornare i dati della tabella di destinazione in modo incrementale con gli aggiornamenti recenti nella tabella condivisa, usando il comando seguente:

CREATE OR REPLACE TABLE table_name DEEP CLONE source_table_name;

Consulta Clonare una tabella in Azure Databricks e Lakeflow Jobs.

Abilitare il flusso di dati delle modifiche (CDF) nelle tabelle condivise per la replica incrementale

Quando una tabella viene condivisa con il relativo CDF, il destinatario può accedere alle modifiche e unirle in una copia locale della tabella, in cui gli utenti eseguono query. In questo scenario, l'accesso dei destinatari ai dati non supera i limiti dell'area e l'uscita è limitata all'aggiornamento di una copia locale. Se il destinatario si trova in Databricks, può usare un job del flusso di lavoro di Databricks per propagare le modifiche a una replica locale.

Per condividere una tabella con CDF, è necessario abilitare CDF nella tabella e condividerla WITH HISTORY.

Per altre informazioni sull'uso di CDF, vedere Usare feed di dati delle modifiche in Azure Databricks e Aggiungere tabelle a una condivisione.

Utilizzare repliche Cloudflare R2 o eseguire la migrazione dell'archiviazione a R2

L'archiviazione di oggetti di Cloudflare R2 non comporta costi in uscita. La replica o la migrazione dei dati condivisi in R2 consente di condividere dati usando OpenSharing senza incorrere in costi in uscita. Tuttavia, ciò non si applica alla condivisione di visualizzazioni, che potrebbe comunque comportare costi in uscita. Questa sezione illustra come replicare i dati verso una destinazione R2 e come abilitare gli aggiornamenti incrementali dalle tabelle di origine.

Requisiti

  • Area di lavoro di Databricks abilitata per Unity Catalog.
  • Databricks Runtime 14.3 o versione successiva, o SQL Warehouse 2024.15 o versione successiva.
  • L'account Cloudflare. Vedete https://dash.cloudflare.com/sign-up.
  • Ruolo di amministratore di Cloudflare R2. Consulta la documentazione dei ruoli di Cloudflare.
  • CREATE STORAGE CREDENTIAL privilegio sul metastore di Unity Catalog associato all'area di lavoro. Gli amministratori dell'account e gli amministratori del metastore hanno questo privilegio per impostazione predefinita.
  • Privilegio CREATE EXTERNAL LOCATION sia per metastore che per le credenziali di archiviazione a cui si fa riferimento nella posizione esterna. Gli amministratori di Metastore dispongono di questo privilegio per impostazione predefinita.
  • Privilegio CREATE MANAGED STORAGE sulla posizione esterna.
  • CREATE CATALOG nel metastore. Gli amministratori di Metastore dispongono di questo privilegio per impostazione predefinita.

Limitazioni per Cloudflare R2

I provider non possono condividere tabelle R2 che utilizzano il raggruppamento liquido e il checkpoint V2.

Montare un bucket R2 come posizione esterna in Azure Databricks

  1. Creare un bucket Cloudflare R2.

    Vedere Passaggio 1: Configurare un bucket R2.

  2. Creare una credenziale di archiviazione nel catalogo unity che consente l'accesso al bucket R2.

    Vedere Passaggio 2: Creare le credenziali di archiviazione.

  3. Usare le credenziali di archiviazione per creare una posizione esterna nel Catalogo Unity.

    Vedere Passaggio 3: Creare la posizione esterna.

Creare un nuovo catalogo usando il percorso esterno

Creare un catalogo che usa la nuova posizione esterna come luogo di archiviazione gestito.

Vedi Creare cataloghi.

Quando si crea il catalogo, eseguire le operazioni seguenti:

Esploratore di cataloghi

  • Selezionare un tipo di catalogo Standard.
  • In posizione di archiviazioneselezionare Selezionare una posizione di archiviazione e inserire il percorso del bucket R2 definito come posizione esterna. Ad esempio, r2://mybucket@my-account-id.r2.cloudflarestorage.com

SQL

Usare il percorso del bucket R2 che hai definito come posizione esterna. Per esempio:

  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';

Clonare i dati da condividere in una tabella nel nuovo catalogo

Usare DEEP CLONE per replicare le tabelle in Azure Data Lake Storage nel nuovo catalogo che usa R2 per l'archiviazione gestita. I cloni profondi copiano i dati e i metadati della tabella di origine nella destinazione del clone. I cloni profondi consentono anche aggiornamenti incrementali identificando i nuovi dati nella tabella di origine e aggiornando di conseguenza la destinazione.

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';

È possibile pianificare un processo di Databricks per aggiornare i dati della tabella di destinazione in modo incrementale con gli aggiornamenti recenti nella tabella di origine, usando il comando seguente:

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

Consulta Clonare una tabella in Azure Databricks e Lakeflow Jobs.

Condividere la nuova tabella

Quando si crea la condivisione, aggiungere le tabelle presenti nel nuovo catalogo archiviate in R2. Il processo è lo stesso di aggiungere qualsiasi tabella a una condivisione.

Vedere Creare condivisioni per OpenSharing.