Pular para o conteúdo principal

Monitorar e gerenciar custos de saída do OpenSharing (para provedores)

Esta página descreve as ferramentas que você pode usar para monitorar e gerenciar os custos de saída do fornecedor de cloud ao compartilhar dados e ativos de AI usando o OpenSharing.

Ao contrário de outras plataformas de compartilhamento de dados, o OpenSharing não requer replicação de dados. Este modelo tem muitas vantagens, mas o seu fornecedor de cloud poderá cobrar taxas de saída de dados ao compartilhar dados entre clouds ou regiões. Ao usar o OpenSharing para compartilhar dados e ativos de AI dentro de uma região, não se incorre em custos de saída.

Para monitorar e gerenciar custos de saída, o Databricks oferece:

Replicar dados para evitar custos de saída

Uma abordagem para evitar custos de saída é que o provedor crie e sincronize réplicas locais de dados compartilhados em regiões que seus destinatários estão usando. Outra abordagem é que os destinatários clonem os dados compartilhados para regiões locais para consultas ativas, configurando sincronizações entre a tabela compartilhada e o clone local. Esta seção discute vários padrões de replicação.

Utilize o clone profundo do Delta para replicação incremental

Os provedores podem usar DEEP CLONE para replicar tabelas Delta para locais externos entre as regiões para as quais eles compartilham. Clones profundos copiam os dados e metadados da tabela de origem para o destino do clone. Clones profundos também permitem atualizações incrementais ao identificar novos dados na tabela de origem e atualizar o destino de acordo.

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

É possível programar um Job do Databricks para refresh os dados da tabela de destino incrementalmente com atualizações recentes na tabela compartilhada, usando o seguinte comando:

SQL
CREATE OR REPLACE TABLE table_name DEEP CLONE source_table_name;

Consulte Clonar uma tabela no Databricks e Jobs do Lakeflow.

Habilitar o feed de dados alterados (CDF) em tabelas compartilhadas para replicação incremental

Quando uma tabela é compartilhada com seu CDF, o destinatário pode acessar as alterações e fazer merge delas em uma cópia local da tabela, onde os usuários realizam consultas. Nesse cenário, o acesso do destinatário aos dados não cruza os limites da região, e a saída é limitada à atualização de uma cópia local. Se o destinatário estiver no Databricks, ele pode usar um job de fluxo de trabalho do Databricks para propagar alterações para uma réplica local.

Para compartilhar uma tabela com CDF, você deve habilitar o CDF na tabela e compartilhá-la WITH HISTORY.

Para obter mais informações sobre como usar o CDF, consulte Usar o feed de dados de alteração no Databricks e Adicionar tabelas a um compartilhamento.

Usar réplicas do Cloudflare R2 ou migrar o armazenamento para o R2

O armazenamento de objetos do Cloudflare R2 não incorre em taxas de saída. A replicação ou migração de dados para o R2 permite o compartilhamento de dados usando o OpenSharing sem incorrer em taxas de saída. No entanto, isso não se aplica ao compartilhamento de view, o que ainda pode acarretar custos de saída. Esta seção descreve como replicar dados para um local R2 e habilitar atualizações incrementais de tabelas de origem.

Requisitos

  • Um workspace do Databricks ativado para o Unity Catalog.
  • Databricks Runtime 14.3 ou superior, ou SQL warehouse 2024.15 ou superior.
  • Cloudflare account. Consulte https://dash.cloudflare.com/sign-up.
  • Função de administrador do Cloudflare R2. Consulte a documentação de funções do Cloudflare.
  • CREATE STORAGE CREDENTIAL privilégio no metastore do Unity Catalog anexado ao workspace. Os administradores de contas e administradores do metastore têm esse privilégio por padrão.
  • CREATE EXTERNAL LOCATION privilégio tanto no metastore quanto na credencial de armazenamento referenciada no local externo. Os administradores do metastore têm este privilégio por padrão.
  • CREATE MANAGED STORAGE privilégio no local externo.
  • CREATE CATALOG no metastore. Os administradores do metastore têm este privilégio por padrão.

Limitações para o Cloudflare R2

Provedores não podem compartilhar tabelas R2 que usam clustering líquido e ponto de verificação v2.

Monte um bucket R2 como um local externo no Databricks

  1. Crie um bucket do Cloudflare R2.

    Consulte Etapa 1: configurar um bucket R2.

  2. Crie uma credencial de armazenamento no Unity Catalog que dá acesso ao bucket R2.

    Consulte o Passo 2: Criar a credencial de armazenamento.

  3. Use a credencial de armazenamento para criar um local externo no Unity Catalog.

    Consulte O passo 3: Criar o local externo.

Criar um novo catálogo usando o local externo

Crie um catálogo que usa o novo local externo como seu local de armazenamento gerenciado.

Consulte Criar catálogos.

Ao criar o catálogo, faça o seguinte:

  • Selecione um tipo de catálogo Padrão .
  • Em **local de armazenamento**, selecione **Selecionar um local de armazenamento** e insira o caminho para o bucket R2 que você definiu como um local externo. Por exemplo, r2://mybucket@my-account-id.r2.cloudflarestorage.com

Use DEEP CLONE para replicar tabelas no GCS para o novo catálogo que utiliza R2 para armazenamento gerenciado. Clones profundos copiam os dados e metadados da tabela de origem para o destino do clone. Clones profundos também permitem atualizações incrementais ao identificar novos dados na tabela de origem e atualizar o destino de acordo.

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

É possível programar um Job do Databricks para refresh dados da tabela de destino incrementalmente com atualizações recentes na tabela de origem, usando o seguinte comando:

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

Consulte Clonar uma tabela no Databricks e Jobs do Lakeflow.

Compartilhar a nova tabela

Ao criar o compartilhamento, adicione as tabelas que estão no novo catálogo, armazenadas no R2. O processo é o mesmo que adicionar qualquer tabela a um compartilhamento.

Consulte Criar compartilhamentos para o OpenSharing.