What is query federation? | Databricks on AWS [2022/10/31時点]の翻訳です。
本書は抄訳であり内容の正確性を保証するものではありません。正確な内容に関しては原文を参照ください。
訳者注
2022/10/28時点ではまだ日本リージョンでは利用できません。
クエリーフェデレーションという用語は、すべてのデータを統合システムに移行する必要なしに、ユーザーやシステムが複数のサイロ化されたデータに対してクエリーを実行するできる様にするための機能コレクションを指します。
クエリーフェデレーションはレイクハウスのどこにフィットするのか?
レイクハウスでは、データの冗長性や分断を削減するためにデータを集中して格納することを強調していますが、多くの企業においてはプロダクションのデータシステムを多数持っています。多くの理由から接続されたシステムのデータをクエリーしたいと考えるかもしれません。
- アドホックのレポート。
- POCの作業。
- 新たなETLパイプラインやレポートの開発。
- インクリメンタルな移行におけるワークロードのサポート。
Databricksにいくつかのデータセットを移行したり、取り込んだりしないという選択をしつつも、隔離されたユースケースにおいて何人かのユーザーにアクセスを与える必要がある場合があります。
Databricks SQLのクエリーフェデレーションとは?
プレビュー
本機能は実験段階です。実験段階の機能はas-isで提供され、カスタマーテクニカルサポートチャネルを通じたDatabricksによるサポートはありません。
Databricks SQLを用いることで、すべてのサーバレスウェアハウス、pro SQLウェアハウスに含まれているドライバーにより人気のデータベースソリューションに対する読み取り専用接続を設定することができます。
接続の詳細については以下をご覧ください。
Databricksにおけるクエリーフェデレーションとは?
Apache Sparkは、さまざまなシステムやデータソースから得られるさまざまなフォーマットのデータに接続するサポートを常に提供しています。数多くの外部データソースとインテグレーションするためにDatabricksランタイムはこれらのオープンソースコネクター上に構築されており、追加のライブラリをバンドルしています。
多くのデータベースへの接続ではApache SparkのJDBCコネクターを使用しています。これらの接続の並列性をチューニングするために数多くのオプションを指定することができ、必要に応じてクエリーをソースシステムにプッシュダウンすることができます。
Databricksランタイム11.3以降では、PythonやR、Scalaに加えてSQLでもシークレットがサポートされ、検閲された文字列を用いることでユーザースコープの認証情報を設定することができます。
Databricksは他のシステムからのクエリーフェデレーションを許可するのか?
- Databricksでは数多くのBIツールと互換性のあるJDBCやODBCドライバーを提供しています。
- Delta Sharingは数多くのクライアントから接続するユーザーにDelta Lakeテーブルを共有するためのオープンソースプロトコルを提供しています。
- Delta Lakeは数多くのインテグレーションを提供する完全にオープンソースなストレージプロトコルです。
- Databricksは、レイクハウスのデータのクエリーをサポートするために数多くのBIとビジュアライゼーションツールとパートナーシップを結んでいます。