外部データベースとカタログに接続します
Databricksは、データを移行することなく、外部データベースやカタログ内のデータをクエリおよびアクセスするための複数のオプションを提供しています。アクセスパターン、ガバナンス要件、書き込み要件、およびコンピュートの設定に基づいて、アプローチを選択してください。
アプローチを選択してください
以下の表は、クエリフェデレーションとカタログフェデレーションを比較したもので、適切なアプローチを選択するのに役立ちます。
説明 | クエリーの実行 | 書き込みのサポート | ガバナンス | どのようなタスクにベストなのか | |
|---|---|---|---|---|---|
クエリ フェデレーション | JDBC を使用して、自動クエリプッシュダウン機能と、フォーリンカタログを介したUnity Catalogガバナンスにより、外部リレーショナルデータベースに対してフェデレーションクエリを実行できます。 | JDBC を使用して外部データベースにプッシュダウンされます。クエリは、Databricksとリモートコンピュートの両方で実行されます。 | サポートされていません(読み取り専用)。 | テーブルレベルのアクセス制御を備えた Unity Catalog のフォーリンカタログ。 | アドホックなレポート、BI、運用データベースへの概念実証アクセス |
カタログフェデレーション | 外部カタログプラットフォーム(Hive metastore、AWS Glue、Snowflakeなど)を接続すると、これらのデータをオブジェクトストレージで直接クエリできます。 | Databricksコンピュートでのみオブジェクトストレージに直接実行できます。クエリフェデレーションよりも費用対効果が高く、パフォーマンスも最適化されています。 | サポートされていません(読み取り専用)。 | テーブルレベルのアクセス制御を備えた Unity Catalog のフォーリンカタログ。 | Unity Catalog への段階的な移行、または外部カタログにデータを持つ長期的なハイブリッドモデルの維持。 |
レイクハウスフェデレーション
レイクハウスフェデレーションは、Databricksのクエリーフェデレーションプラットフォームです。Unity Catalog フォーリンカタログを通じて、ガバナンスが適用された外部データへの読み取り専用アクセスを提供します。これには、自動クエリプッシュダウンとテーブルレベルでのきめ細やかなアクセス制御が含まれます。
レイクハウスフェデレーションには、クエリフェデレーションとカタログフェデレーションの2つの種類があります。
クエリ フェデレーションとカタログ フェデレーションの比較
次の表に、クエリーフェデレーションとカタログフェデレーションの主な違いを説明します。
クエリ パス | ユースケース | 手順の概要 | |
|---|---|---|---|
クエリ フェデレーション | Unity Catalog クエリは、JDBC を使用して外部データベースにプッシュダウンされます。クエリは、 Databricks とリモートコンピュートの両方で実行されます。 |
ソースがレイクハウスフェデレーションと Lakeflow Connectの両方をサポートしている場合、 Databricks は、より多くのデータ量とより低いレイテンシーでのパフォーマンスが優先される場合は、 Lakeflow Connect することをお勧めします。 |
|
カタログフェデレーション | Unity Catalog クエリは、オブジェクトストレージのフォーリンテーブルに直接アクセスします。 カタログフェデレーションは、カタログおよびストレージサービスへの直接アクセスをサポートするプラットフォームで使用できます。クエリは conピュート Databricks でのみ実行されるため、カタログ フェデレーションはクエリ フェデレーションよりもコスト効率が高く、パフォーマンスが最適化されています。 |
|
|
サポートされているデータソース
クエリ フェデレーションを使用して次のソースに接続します。
- MySQL
- PostgreSQL
- テラデータ
- Oracle
- Amazon Redshift
- セールスフォース・データ360
- Snowflake
- Microsoft SQL Server
- Azure Synapse(SQLデータウェアハウス)
- Google BigQuery
- Databricks
カタログフェデレーションを使用して、次のソースに接続します。
Spark データソース
Spark データソース API を使用すると、Databricks から直接、外部データベースのデータを読み書きできます。レイクハウスフェデレーションがソースをサポートしていない場合、書き込みアクセスが必要な場合、またはクエリの実行と並列化に対するより詳細な制御が必要な場合に使用します。
Databricks Runtimeには、PostgreSQL、SQL Server、MySQL、Snowflake、Redshiftなどの一般的なデータベース用のコネクタがバンドルされています。任意のJDBC互換データベースでは、JDBC Unity Catalog接続を使用することで、集中管理された認証情報で独自のドライバーを持ち込むことができます。専用クラスターにサードパーティ製のコネクタをインストールしたり、PySpark DataSource API を使用して Python で完全にカスタムのコネクタを構築したりすることもできます。
セットアップ手順および詳細については、Spark データソースを参照してください。