Conectar-se a bancos de dados e catálogos externos
Databricks oferece várias opções para consultar e acessar dados em bancos de dados e catálogos externos sem migrar os dados. A abordagem deve ser escolhida com base no padrão de acesso, nos requisitos de governança, nas necessidades de gravação e nas preferências de compute.
Escolha uma abordagem
A tabela a seguir compara a federação de consultas e a federação de catálogo para ajudar a escolher a abordagem adequada.
Descrição | Execução de query | Suporte de gravação | Governança | Melhor para | |
|---|---|---|---|---|---|
Federação de consultas | Execute consultas federadas em bancos de dados relacionais externos usando JDBC, com o pushdown automático de consultas e governança do Unity Catalog por meio de catálogos externos. | Enviado para o banco de dados externo usando JDBC. A consulta é executada tanto em Databricks quanto em compute remoto. | Não suportado (somente leitura). | Catálogo externo do Unity Catalog com controles de acesso em nível de tabela. | Relatórios ad hoc, BI e acesso de prova de conceito a bancos de dados operacionais. |
Federação de catálogos | Conecte plataformas de catálogo externas (como Hive metastore, AWS Glue ou Snowflake), permitindo a consulta direta de seus dados no armazenamento de objetos. | Executa diretamente no armazenamento de objetos, exclusivamente no Databricks Compute. Mais eficiente em termos de custo e otimizado para desempenho do que a federação de consultas. | Não suportado (somente leitura). | Catálogo externo do Unity Catalog com controles de acesso em nível de tabela. | Migrar para o Unity Catalog de forma incremental ou manter um modelo híbrido de longo prazo com dados em um catálogo externo. |
Federação Lakehouse
A Lakehouse Federation é a plataforma de federação de consultas do Databricks. Ele fornece acesso governado e somente leitura a dados externos por meio de catálogos externos do Unity Catalog, com pushdown de consulta automático e controles de acesso refinados no nível da tabela.
Existem dois tipos de Lakehouse Federation: federação de consultas e federação de catálogos.
Federação de consultas em comparação com federação de catálogos
A tabela a seguir descreve as principais diferenças entre a federação de queries e a federação de catálogos.
Caminho da consulta | Caso de uso | Visão geral das etapas | |
|---|---|---|---|
Federação de consultas | As consultas do Unity Catalog são enviadas para o banco de dados externo usando JDBC. A consulta está sendo executada tanto em Databricks quanto remotamente em compute. |
Quando sua fonte suporta tanto a federação lakehouse quanto o LakeFlow Connect, Databricks recomenda LakeFlow Connect se o desempenho em volumes de dados mais altos e menor latência forem prioridades. |
|
Federação de catálogos | As consultas do Unity Catalog acessam diretamente a tabela externa no armazenamento de objetos. A federação de catálogos está disponível para plataformas que suportam acesso direto ao seu catálogo e serviço de armazenamento. A consulta é executada apenas em Databricks compute, o que significa que a federação de catálogos é mais econômica e otimizada em termos de desempenho do que a federação de consultas. |
|
|
Fontes de dados compatíveis
Conecte-se às seguintes fontes usando a federação de consultas:
- MySQL
- PostgreSQL
- Teradata
- Oracle
- Amazon Redshift
- Salesforce Data 360
- Snowflake
- Microsoft SQL Server
- Azure Synapse (SQL Data Warehouse)
- Google BigQuery
- Databricks
Conecte-se às seguintes fontes usando a federação de catálogos:
Fontes de dados do Spark
A API de fonte de dados Spark permite ler e gravar em bancos de dados externos diretamente do Databricks. Utilize-o quando a Lakehouse Federation não oferecer suporte à sua fonte, quando precisar de acesso de gravação, ou quando precisar de mais controle sobre a execução de consultas e paralelização.
Databricks Runtime inclui conectores empacotados para bancos de dados comuns, como PostgreSQL, SQL Server, MySQL, Snowflake e Redshift. Para qualquer banco de dados compatível com JDBC, é possível usar uma conexão JDBC do Unity Catalog para usar seu próprio driver com gerenciamento de credenciais centralizado. Você também pode instalar conectores de terceiros em clusters dedicados ou criar conectores totalmente personalizados em Python usando a API PySpark DataSource.
Para instruções de configuração e detalhes completos, consulte fontes de dados do Spark.