Pular para o conteúdo principal

Monitorar e gerenciar os custos de saída do Delta Sharing (para provedores)

Este artigo descreve as ferramentas que o senhor pode usar para monitorar e gerenciar os custos de saída do fornecedor de nuvem quando compartilha dados e AI ativo usando Delta Sharing.

Diferentemente de outras plataformas de compartilhamento de dados, o Delta Sharing não requer replicação de dados. Esse modelo tem muitas vantagens, mas significa que seu fornecedor de nuvem pode cobrar taxas de saída de dados quando você compartilha dados entre nuvens ou regiões. Se o senhor usar Delta Sharing para compartilhar dados e AI ativo em uma região, não incorrerá em nenhum custo de saída.

Para monitorar e gerenciar as taxas de saída, a Databricks fornece:

Delta Sharing egresso Notebook pipeline

Em Databricks Marketplace, a listagem Delta Sharing Egress pipeline inclui dois Notebook que o senhor pode clonar e usar para monitorar os padrões de uso de saída e os custos associados a Delta Sharing. Ambos os notebooks criam e executam um DLT pipeline:

  • Notebook do pipeline de mapeamento de intervalos de IP
  • Egress Cost análise pipeline Notebook

Quando o senhor executar esses notebooks como um padrão DLT, eles gerarão automaticamente um relatório de custos detalhado. Os registros são unidos às tabelas de intervalo de IP do provedor de nuvem e às tabelas do sistema Delta Sharing para gerar bytes de saída transferidos, atribuídos por compartilhamento e destinatário.

Os requisitos e instruções completos estão disponíveis na lista.

Replique 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 nas regiões que seus destinatários estão usando. Outra abordagem é que os destinatários clonem os dados compartilhados em regiões locais para consulta ativa, configurando sincronizações entre a tabela compartilhada e o clone local. Esta seção aborda vários padrões de replicação.

Usar o Delta deep clone para replicação incremental

Os provedores podem usar o site DEEP CLONE para replicar tabelas Delta em locais externos nas regiões com as quais compartilham. Os clones profundos copiam os dados e metadados da tabela de origem para o destino do clone. Os clones profundos também permitem atualizações incrementais identificando novos dados na tabela de origem e atualizando o destino adequadamente.

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

O senhor pode programar um trabalho Databricks para refresh dados da tabela de destino de forma incremental 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 Visão geral da orquestração no Databricks.

Habilite o feed de dados de alteração (CDF) em tabelas compartilhadas para replicação incremental

Quando uma tabela é compartilhada com seu CDF, o destinatário pode acessar as alterações e merge elas 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 ultrapassa os limites da região e a saída é limitada à atualização de uma cópia local. Se o destinatário estiver em Databricks, ele poderá usar um Job Databricks fluxo de trabalho para propagar as alterações para uma réplica local.

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

Para obter mais informações sobre o uso do CDF, consulte Use Delta Lake change data feed on Databricks e Add tables to a share.

Use réplicas R2 da Cloudflare ou migre o armazenamento para o R2

O armazenamento de objetos Cloudflare R2 não incorre em taxas de saída. A replicação ou migração dos dados que o senhor compartilha para o R2 permite compartilhar o uso de dados Delta Sharing sem incorrer em taxas de saída. Entretanto, isso não se aplica ao view compartilhamento, que ainda pode incorrer em custos de egresso. Esta seção descreve como replicar dados em um local R2 e ativar atualizações incrementais das tabelas de origem.

Requisitos

  • Um workspace do Databricks ativado para o Unity Catalog.
  • Databricks Runtime 14.3 ou acima, ou SQL warehouse 2024.15 ou acima.
  • Cloudflare account. Consulte https://dash.cloudflare.com/sign-up.
  • Função de administrador do Cloudflare R2. Veja a documentação das funções da 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 na metastore e na credencial de armazenamento referenciada no local externo. Os administradores de metastore têm esse privilégio em default.
  • CREATE MANAGED STORAGE privilégio na localização externa.
  • CREATE CATALOG na metastore. Os administradores de metastore têm esse privilégio em default.

Limitações do Cloudflare R2

Os provedores não podem compartilhar tabelas R2 que usam clustering líquido e ponto de verificação V2.

Montar um bucket R2 como um local externo no Databricks

  1. Crie um bucket do Cloudflare R2.

    Consulte Configurar um bucket R2.

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

    Consulte Criar a credencial de armazenamento.

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

    Consulte Criar um local externo para conectar o armazenamento em nuvem à Databricks.

Crie um novo catálogo usando o local externo

Crie um catálogo que use o novo local externo como seu local de armazenamento gerenciar.

Consulte Criar catálogos.

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

  • Select a Standard catalog type.
  • Under Storage location, select Select a storage location and enter the path to the R2 bucket you defined as an external location. For example, r2://mybucket@my-account-id.r2.cloudflarestorage.com

Use DEEP CLONE para replicar tabelas em S3 para o novo catálogo que usa R2 para armazenamento gerencial. Os clones profundos copiam os dados e metadados da tabela de origem para o destino do clone. Os clones profundos também permitem atualizações incrementais identificando novos dados na tabela de origem e atualizando o destino adequadamente.

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

O senhor pode programar um Databricks Job para refresh dados da tabela de destino de forma incremental 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 Visão geral da orquestração no Databricks.

Compartilhe 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 e gerenciar compartilhamentos para o Delta Sharing.