メインコンテンツまでスキップ

Unity CatalogにLakebaseデータベースを登録する

Unity Catalogで Lakebase データベースを登録すると、Postgres データベースを表す読み取り専用カタログが作成され、レイクハウスとトランザクションのワークロード全体で統合されたデータガバナンスとクロスソース分析が可能になります。

Unity Catalogに登録する理由

登録にはいくつかのメリットがあります:

統合ガバナンス : Unity Catalogのガバナンス制御 (権限、リネージ追跡、監査ログ) を、レイクハウス データとともに Lakebase データに適用します。

クロスソース クエリ : 単一のSQLインターフェイスからUnity Catalogテーブルと Lakebase データベースの両方にクエリを実行し、トランザクション データと分析データを組み合わせた分析を可能にします。

一元化された検出 :ワークスペース内の他のデータソースとともに、カタログエクスプローラーを通じてLakebaseのデータベース、スキーマ、およびテーブルを検索および発見します。

統合ワークフロー : コンテキストを切り替えたり、個別の接続を管理したりすることなく、Databricks ダッシュボードとアプリケーションで Lakebase データを使用します。

仕組み

登録により、Postgres データベース構造をミラーリングする読み取り専用の Unity Catalog カタログが作成され、Unity Catalog のガバナンス レイヤーを通じてデータベース オブジェクト (スキーマ、テーブル、ビュー) へのメタデータ アクセスが提供されます。

登録は、Unity Catalog のカタログ作成ワークフローと自然に統合される Lakebase インターフェースからではなく、Catalog Explorer から開始します。

登録後:

  • LakebaseデータベースはUnity Catalogにカタログとして表示されます
  • Unity Catalog権限は、データベースを表示およびクエリできるユーザーを制御します。
  • カタログは読み取り専用のままです。実際のデータベースはLakebaseを通じて管理します。

前提条件

  • 少なくとも 1 つのデータベースを持つ既存の Lakebase プロジェクト
  • CREATE CATALOG Unity Catalogメタストアの権限
  • 登録済みのカタログをクエリするための サーバレス SQLウェアハウス。ProおよびClassic SQLウェアハウスはサポートされておらず、権限エラーを返します。
重要

Unity CatalogのLakebaseカタログには、 サーバレス SQLウェアハウスが必要です。ProまたはClassic SQLウェアハウスでクエリーを実行すると、PERMISSION_DENIEDエラーが返されます。SQLエディターで、ウェアハウスのドロップダウンを開き、クエリーを実行する前にサーバレスウェアハウスを選択します。

データベースを登録する

  1. アプリスイッチャーを使用して「アナリティクスとAI」に移動します。
  2. カタログエクスプローラーで、プラスボタンをクリックし、「カタログを作成」をクリックします。
  3. カタログ名を入力します (例: lakebase_catalog )。
  4. カタログタイプとして Lakebase Postgres を選択し、次に Autoscaling オプションを選択します。
  5. プロジェクト、ブランチ、Postgres データベースを選択します。
  6. 作成 をクリックします。

Unity CatalogにLKBデータベースを登録する

カタログはカタログエクスプローラーに表示され、そこでスキーマ、テーブル、ビューを見つけ、SQLウェアハウスを使用してそれらをクエリーできます。

登録済みデータベースを探索する

登録後、カタログエクスプローラーでカタログに移動し、スキーマ、テーブル、およびビューを検索します。任意のテーブルをクリックして、スキーマの詳細、サンプルデータ、およびリネージ情報を表示します。

Unity Catalog は Lakebase データベースからメタデータを自動的に同期します。Lakebase でテーブルを追加または変更する場合は、カタログ ビューを更新して更新を確認します。

登録状況を確認する

カタログの現在の登録情報をプログラムで取得するには:

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}")

登録済みデータベースを照会する

SQLウェアハウスまたはUnity Catalogに接続するツールを使用して、登録されたLakebaseデータベースをクエリします。

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;

読み取り専用カタログにより、クエリによって Unity Catalog を通じて Lakebase データベースが変更されることがなくなります。データを変更するには、Lakebase SQL エディターを使用するか、データベースに直接接続します。

権限とアクセス制御

Unity Catalog の権限は、登録された Lakebase データベースへのアクセスを制御します。

  • カタログ所有者 : データベースを登録したユーザーがカタログ所有者となります
  • 読み取りアクセス : 他のユーザーがデータベースを照会できるようにするには、 USE CATALOGおよびSELECT権限を付与します
  • メタストア管理者 :メタストア管理者は、登録されているすべてのカタログを管理できます。

登録済みデータベースへのアクセスを許可するには:

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`;

Unity Catalogで設定された権限は、 SQLを介したクエリ アクセスを制御します。 Lakebase データベースへの直接接続では、Postgres のロールと権限が個別に使用されます。

データベースの登録を解除する

登録解除すると、カタログはUnity Catalogから削除されますが、 Lakebaseデータベースには影響しません。 データベースは、LakebaseおよびPostgresへの直接接続を通じて引き続きアクセス可能です。

カタログエクスプローラーでカタログを選択し、ドットの円アイコン。 、そして 「削除」 を選択します。

注記

登録済みのデータベースから同期テーブルを作成した場合は、まずそれらのテーブルを削除します。各ソース テーブルは 20 個の同期テーブルの作成にのみ使用でき、削除が保留中の同期テーブルもこの制限にカウントされます。

制限事項

読み取り専用アクセス : Lakebase データベースから登録されたカタログは読み取り専用です。Unity Catalogクエリを通じてデータを変更することはできません。

サーバレスSQLウェアハウスが必要です:登録済みのLakebaseカタログは、サーバレスSQLウェアハウスを使用してのみクエリーできます。ProおよびClassic SQLウェアハウスは、この機能をサポートしていません。

カタログごとに 1 つのデータベース : 各 Unity Catalog カタログは 1 つの Lakebase データベースを表します。複数のデータベースを公開するには、それぞれを個別に登録します。

メタデータ同期 : Unity Catalog はメタデータをキャッシュして Postgres リクエストを削減します。新しいオブジェクトはすぐには表示されない場合があります。クリックスキーマアイコンの更新完全な更新をトリガーします。

ブランチ化されたデータベースの登録はサポートされていません :ブランチ化されたデータベースを個別のUnity Catalogカタログとして登録することはできません。Unity Catalogにすでに登録されているデータベースからブランチを作成すると、そのブランチは親の登録メタデータを継承します。これにより、新しいカタログの登録が失敗します。

その他のリソース