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

Lakebaseオートスケールを使ってみる

備考

Lakebaseオートスケールは、オートスケールコンピュート、ゼロへのスケール、分岐、即時復元を備えたLakebaseの最新バージョンです。 サポートされているリージョンについては、 「リージョンの提供状況」を参照してください。Lakebaseプロビジョニング ユーザーの場合は、 Lakebaseプロビジョニング」を参照してください。

このガイドを読み終える頃には、サンプルデータを含む稼働中のPostgresデータベースがUnity Catalogに接続され、 LakebaseとDatabricksローカル間でデータが流れるようになっているでしょう。

ステップ:プロジェクトを作成→ ②接続→ ③テーブルを作成→ ④ Unity Catalogに登録する→ ⑤データを提供→ ⑥レプリケーション

ステップ 1: 最初のプロジェクトを作成する

アプリスイッチャーから Lakebase アプリを開きます。

アプリスイッチャー

オートスケール を選択して、Lakebase Autoscaling UI にアクセスします。

[新しいプロジェクト] をクリックします。プロジェクトに名前を付け、Postgres のバージョンを選択します。プロジェクトは、単一のproductionブランチ、デフォルトのdatabricks_postgresデータベース、およびブランチ用に構成されたコンピュート リソースを使用して作成されます。

プロジェクト作成ダイアログ

コンピュートがアクティブになるまでに少し時間がかかる場合があります。 productionブランチのコンピュートは、当然ながら常にオンになっています (ゼロへのスケールは無効になっています)。必要に応じてこの設定を構成できます。

プロジェクトのリージョンは、ワークスペースのリージョンに自動的に設定されます。

詳細:プロジェクトの作成|オートスケール|ゼロにスケールする

ステップ 2: データベースに接続する

プロジェクトから 本番運用 ブランチを選択し、 「接続」 をクリックします。 接続文字列は、標準的なPostgresクライアント( psql 、pgAdmin、DBeaver、またはアプリケーションフレームワーク)であればどれでも機能します。

接続ダイアログ

Databricks IDに接続するには、接続ダイアログからpsqlスニペットをコピーし、 OAuthを貼り付けてください。 プロンプトが表示されたら:

Bash
psql 'postgresql://your-email@databricks.com@ep-abc-123.databricks.com/databricks_postgres?sslmode=require'

詳細はこちら:接続クイックスタート| psql | pgAdmin | Postgresクライアント

ステップ 3: 最初のテーブルを作成する

Lakebase SQL Editorには、サンプルSQLがプリロードされています。プロジェクトから 本番運用 ブランチを選択し、 SQLエディターを開き、提供されたステートメントを実行してplaying_with_lakebaseテーブルを作成し、サンプル データを挿入します。

サンプルSQLがプリロードされたSQLエディタ

詳細はこちら: SQLエディタテーブルエディタPostgresクライアント

ステップ 4: Unity Catalogに登録する

Lakebaseデータベースは実行されていますが、 Unity Catalogで登録するまで、 Databricksプラットフォームの他の部分からは見えません。 登録すると、 Databricks SQLからLakebaseテーブルにクエリを実行し、運用データをレイクハウス アナリティクスと結合して、統合ガバナンスを適用できるようになります。

カタログ エクスプローラーで、タイプとして Lakebaseオートスケールを 使用して、プロジェクトのproductionブランチとdatabricks_postgresデータベースを指す新しいカタログを作成します。

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

SQLウェアハウスからクエリを実行できるようになりました。

SQL
SELECT * FROM lakebase_catalog.public.playing_with_lakebase;

詳細: Unity Catalogに登録する

ステップ 5: アプリでレイクハウス データを提供する

同期されたテーブルは、Unity Catalog から Lakebase データベースに分析データを取り込むため、アプリケーションは低遅延のトランザクション読み取りでそのデータを照会できます。サンプルのUnity Catalogテーブルを作成し、それをLakebaseと同期します。

SQLウェアハウスまたはノートブックで、ソーステーブルを作成します。

SQL
CREATE TABLE main.default.user_segments AS
SELECT * FROM VALUES
(1001, 'premium', 2500.00, 'high'),
(1002, 'standard', 450.00, 'medium'),
(1003, 'premium', 3200.00, 'high'),
(1004, 'basic', 120.00, 'low')
AS segments(user_id, tier, lifetime_value, engagement);

このテーブルをLakebaseに同期してください。カタログエクスプローラーで、 スナップショット モードを使用して、プロジェクトのデータベースdatabricks_postgresをターゲットとする同期テーブルをuser_segmentsから作成します。スナップショットモードでは、データは一度だけコピーされます。継続的な更新を行うには、トリガーモードまたは継続モードを使用してください。

同期が完了すると、データはLakebaseでdefault.user_segments_syncedとして利用可能になります。Lakebase SQLエディタでクエリを実行してください。

SQL
SELECT * FROM "default".user_segments_synced WHERE engagement = 'high';
注記

default これはPostgreSQLの予約語なので、引用符で囲む必要があります。同期されたテーブルスキーマはUnity Catalogスキーマ名を継承するため、スキーマ名がdefaultの場合は、クエリで常に引用符で囲む必要があります。 他の識別子を引用符で囲むのは任意です。

Lakebase SQL エディターで同期されたユーザー セグメントをクエリする

これで、レイクハウス アナリティクスをトランザクション データベースから提供する準備が整いました。

詳細はこちら:同期テーブル同期モードデータ型マッピング

ステップ 6: レイクハウスに複製する

注記

レイクハウス Sync はベータ版です。

レイクハウス Sync は、チェンジデータキャプチャ ( CDC ) を使用して、 Lakebaseオートスケール テーブルをDeltaテーブルとしてUnity Catalogに継続的に複製します。 変更内容はそれぞれ新しい行として追加され、履歴全体が保持されます。外部パイプライン、ジョブ、Sparkは不要です。

PostgreSQLがCDC(変更データキャプチャ)を機能させるには、行データ全体をライトアヘッドログに記録する必要があります。先ほど作成したplaying_with_lakebaseテーブルのレプリカIDを「フル」に設定してください。

SQL
ALTER TABLE playing_with_lakebase REPLICA IDENTITY FULL;

次に、ブランチ概要の レイクハウス同期 タブから同期を設定します。 スキーマをpublicとして選択し、 Unity Catalogカタログとスキーマを宛先として選択します。

ソーススキーマ内のすべてのテーブルは自動的に同期されます。playing_with_lakebaseテーブルは、宛先カタログではlb_playing_with_lakebase_historyとして表示されます。SQLウェアハウスからクエリを実行する:

SQL
SELECT * FROM <catalog>.<schema>.lb_playing_with_lakebase_history LIMIT 10;

各行には、データがどのように、いつ変更されたかを追跡するシステム列_change_type_timestamp_lsn_xidが含まれています。

詳細はこちら:レイクハウス Sync |データ型マッピング|現在の状態のミラービュー

次のステップ