Se connecter à des bases de données et des catalogues externes
Databricks offre plusieurs options pour interroger et accéder aux données dans les bases de données et catalogues externes sans migrer vos données. Choisissez l'approche en fonction de votre modèle d'accès, de vos exigences de gouvernance, de vos besoins en écriture et de vos préférences de compute.
Choisir une approche
Le tableau suivant compare la fédération de requêtes et la fédération de catalogues pour vous aider à choisir la bonne approche.
Description | Exécution de la query | Prise en charge de l'écriture | Gouvernance | Idéal pour | |
|---|---|---|---|---|---|
Query federation | Exécutez des requêtes fédérées sur des bases de données relationnelles externes à l'aide de JDBC, avec un pushdown de requêtes automatique et une gouvernance Unity Catalog via des catalogues étrangers. | Transféré vers la base de données externe à l'aide de JDBC. La query s'exécute à la fois sur Databricks et sur un compute distant. | Non pris en charge (lecture seule). | Unity Catalog : catalogue externe avec des contrôles d'accès au niveau des tables. | Accès aux bases de données opérationnelles pour les rapports ad hoc, la BI et les preuves de concept. |
Fédération de catalogues | Connectez des plateformes de catalogue externes (telles que Hive metastore, AWS Glue ou Snowflake) afin de pouvoir interroger leurs données directement dans le stockage d'objets. | S'exécute directement sur le stockage d'objets uniquement sur le compute Databricks. Plus rentable et optimisé en termes de performances que la fédération de query. | Non pris en charge (lecture seule). | Unity Catalog : catalogue externe avec des contrôles d'accès au niveau des tables. | Migration vers Unity Catalog de manière incrémentielle, ou maintien d'un modèle hybride à long terme avec des données dans un catalogue externe. |
Lakehouse Federation
Lakehouse Federation est la plateforme de fédération de query Databricks. Il offre un accès gouverné en lecture seule aux données externes via les catalogues externes d'Unity Catalog, avec un pushdown de requête automatique et des contrôles d'accès précis au niveau de la table.
Il existe deux types de Lakehouse Federation : la fédération de query et la fédération de catalogue.
Fédération de query comparée à la fédération de catalogues
Le tableau suivant décrit les différences clés entre la fédération de query et la fédération de catalogue.
Chemin d'accès de la requête | Cas d'usage | Vue d'ensemble des étapes | |
|---|---|---|---|
Query federation | Les requêtes Unity Catalog sont transmises à la base de données externe à l'aide de JDBC. La query est exécutée à la fois dans Databricks et à l'aide de compute distant. |
Lorsque votre source prend en charge à la fois Lakehouse Federation et Lakeflow Connect, Databricks recommande Lakeflow Connect si les performances sur des volumes de données plus élevés et une latence plus faible sont des priorités. |
|
Fédération de catalogues | Les queries Unity Catalog accèdent directement à la table étrangère dans le stockage objet. La fédération de catalogues est disponible pour les plateformes qui prennent en charge l'accès direct à leurs services de catalogue et de stockage. La query n'est exécutée que sur le compute Databricks, ce qui signifie que la fédération de catalogues est plus rentable et optimisée en termes de performances que la fédération de query. |
|
|
Sources de données prises en charge
Connectez-vous aux sources suivantes en utilisant la fédération de requêtes :
- MySQL
- PostgreSQL
- Teradata
- Oracle
- Amazon Redshift
- Salesforce Data 360
- Snowflake
- Microsoft SQL Server
- Azure Synapse (SQL Data Warehouse)
- Google BigQuery
- Databricks
Connectez-vous aux sources suivantes à l'aide de la fédération de catalogues :
Sources de données Spark
L’API Spark Data Source vous permet de lire et d’écrire dans des bases de données externes directement depuis Databricks. Utilisez-le lorsque Lakehouse Federation ne prend pas en charge votre source, lorsque vous avez besoin d'un accès en écriture, ou lorsque vous avez besoin d'un contrôle accru sur l'exécution des requêtes et la parallélisation.
Databricks Runtime inclut des connecteurs groupés pour les bases de données courantes telles que : PostgreSQL, SQL Server, MySQL, Snowflake et Redshift. Pour toute base de données compatible JDBC, vous pouvez utiliser une connexion JDBC Unity Catalog pour apporter votre propre Driver avec une gestion centralisée des informations d'identification. Vous pouvez également installer des connecteurs tiers sur des clusters dédiés ou créer des connecteurs entièrement personnalisés en Python à l'aide de l'API PySpark DataSource.
Pour les instructions de configuration et les détails complets, consultez les sources de données Spark.