Pular para o conteúdo principal

Registrar um banco de dados Lakebase no Unity Catalog

O registro de um banco de dados Lakebase no Unity Catalog cria um catálogo somente leitura que representa seu banco de dados Postgres, permitindo a governança unificada de dados e análises entre diferentes fontes em suas cargas de trabalho lakehouse e transacionais.

Por que se registrar no Unity Catalog​

O registro tem vários benefícios:

Governança unificada : Aplique os controles de governança do Unity Catalog — permissões, acompanhamento de linhagem e logsde auditoria — aos seus dados do Lakebase, juntamente com os dados do seu lakehouse .

Consultas entre fontes : Consulte tabelas Unity Catalog e bancos de dados do Lakebase a partir de uma única interface SQL , permitindo análises que combinam dados transacionais e analíticos.

Descoberta centralizada : Encontre e descubra bancos de dados, esquemas e tabelas do Lakebase através do Catalog Explorer junto com outras fontes de dados em seu workspace.

Fluxo de trabalho integrado : Utilize dados do Lakebase em dashboards e aplicativos Databricks sem precisar alternar entre contextos ou gerenciar conexões separadas.

Como funciona​

O registro cria um catálogo Unity Catalog somente leitura que espelha a estrutura do seu banco de dados Postgres, fornecendo acesso aos metadados dos objetos do seu banco de dados (esquemas, tabelas, visualizações) por meio da camada de governança do Unity Catalog.

Você inicia o registro a partir do Catalog Explorer, em vez da interface do Lakebase, o que se integra naturalmente ao fluxo de trabalho de criação de catálogos do Unity Catalog.

Após o cadastro:

  • Seu banco de dados Lakebase aparece como um catálogo no Unity Catalog
  • As permissões Unity Catalog controlam quem pode view e consultar o banco de dados.
  • O catálogo permanece somente leitura — você gerencia o banco de dados propriamente dito por meio do Lakebase.

Pré-requisitos​

  • Um projeto Lakebase existente com pelo menos um banco de dados.
  • CREATE CATALOG privilégios no metastore Unity Catalog
  • Compute Serverless para query o catálogo registrado: um SQL Warehouse serverless ou compute Serverless para Notebooks e Jobs. Os SQL Warehouses Pro e clássicos e o compute clássico não são compatíveis.
importante

Os catálogos Lakebase no Unity Catalog exigem compute serverless, tanto para executar queries quanto para navegar pelo catálogo no Catalog Explorer. O uso de um SQL warehouse Pro ou clássico, ou de compute clássico, retorna um erro PERMISSION_DENIED (UC_LAKEBASE_CATALOG_ACCESS_DENIED). Para corrigir isso, alterne para um SQL warehouse serverless no editor SQL ou anexe seu Notebook ou Job ao compute serverless.

registrar um banco de dados​

  1. Use o alternador de aplicativos para ir para Analítica e IA .
  2. No Catalog Explorer, clique no botão de adição e em Criar um catálogo .
  3. Insira um nome de catálogo (por exemplo, lakebase_catalog).
  4. Selecione Lakebase Postgres como o tipo de catálogo, depois selecione a opção de Autoscaling .
  5. Selecione seu projeto, branch e banco de dados Postgres.
  6. Clique em Criar .

registro do banco de dados LKB no Unity Catalog

O catálogo aparece no Explorador de Catálogos, onde você pode encontrar esquemas, tabelas e views e query usando compute Serverless.

Explore as bases de dados registadas​

Após o registro, vá para seu catálogo no Catalog Explorer para encontrar esquemas, tabelas e views. Clique em qualquer tabela para view detalhes do esquema, dados de amostra e informação de linhagem.

O Unity Catalog sincroniza automaticamente os metadados do seu banco de dados Lakebase. Ao adicionar ou modificar tabelas no Lakebase, refresh a view do catálogo para ver as atualizações.

Verificar status do registro​

Para obter programaticamente os detalhes de registro atuais de um catálogo:

Python
from databricks.sdk import WorkspaceClient

w = WorkspaceClient()

catalog = w.postgres.get_catalog("catalogs/my-catalog")
print(f"Database: {catalog.status.postgres_database}")
print(f"Branch: {catalog.status.branch}")

Consultar bancos de dados registrados​

query os bancos de dados Lakebase registrados em um SQL Warehouse Serverless ou em Notebooks e Jobs executados em compute Serverless:

SQL
-- Query a registered Lakebase database
SELECT * FROM chatbot_catalog.public.conversations
WHERE created_at >= current_date - INTERVAL 7 DAYS;

-- Join Lakebase and lakehouse data
SELECT
c.conversation_id,
c.user_id,
c.agent_response,
u.user_name,
u.subscription_tier
FROM chatbot_catalog.public.conversations c
JOIN main.user_analytics.users u
ON c.user_id = u.user_id;

O catálogo somente leitura garante que as consultas não modifiquem seu banco de dados Lakebase por meio do Unity Catalog. Para modificar o uso de dados, utilize o Editor SQL do Lakebase ou conecte-se diretamente ao seu banco de dados.

Permissões e controle de acesso​

As permissões Unity Catalog controlam o acesso aos bancos de dados Lakebase registrados:

  • Propriedade do catálogo : O usuário que registra o banco de dados torna-se o proprietário do catálogo.
  • Acesso de leitura : Conceda privilégios USE CATALOG e SELECT para permitir que outros consultem o banco de dados.
  • Administrador do metastore : Os administradores do metastore podem gerenciar todos os catálogos registrados

Para conceder acesso a um banco de dados registrado:

SQL
-- Grant read access to a group
GRANT USE CATALOG ON CATALOG chatbot_catalog TO `ai-engineering`;
GRANT SELECT ON CATALOG chatbot_catalog TO `ai-engineering`;

As permissões definidas no Unity Catalog controlam o acesso a query por meio de SQL warehouses serverless e compute serverless. As conexões diretas ao seu banco de dados Lakebase usam roles e permissões do Postgres de forma independente.

Cancelar o registro de um banco de dados​

O cancelamento do registro remove o catálogo do Unity Catalog , mas não afeta seu banco de dados Lakebase . O banco de dados permanece acessível através do Lakebase e de conexões diretas com o Postgres.

Selecione o catálogo no Explorador de Catálogos e clique em Ícone de círculo com pontos. e selecione Excluir .

nota

Se você criou tabelas sincronizadas a partir do banco de dados registrado, exclua essas tabelas primeiro. Cada tabela de origem só pode ser usada para criar 20 tabelas sincronizadas, e as tabelas sincronizadas pendentes de exclusão contam para esse limite.

Limitações​

Acesso somente leitura : Os catálogos registrados nos bancos de dados do Lakebase são somente leitura. Não é possível modificar dados por meio de consultas Unity Catalog .

Serverless compute obrigatório : você só pode query um catálogo Lakebase registrado usando um SQL Warehouse Serverless ou compute Serverless para Notebooks e Jobs. Os SQL warehouse Pro e clássicos, assim como o compute clássico, não são compatíveis.

Um único banco de dados por catálogo : Cada catálogo Unity Catalog representa um banco de dados do Lakebase. Para expor várias bases de dados, registre cada uma separadamente.

Sincronização de metadados : o Unity Catalog armazena metadados em cache para reduzir as solicitações ao Postgres. Novos objetos podem não aparecer imediatamente. Clique Ícone de atualização do esquema Para acionar uma refresh completa.

Registro de banco de dados ramificado não suportado : Não é possível registrar um banco de dados ramificado como um catálogo separado do Unity Catalog. Ao criar um branch a partir de um banco de dados que já está registrado no Unity Catalog, o branch herda os metadados de registro do pai. Isso faz com que o novo registro de catálogo falhe.

Recursos adicionais​