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

Lakebase Postgresを使い始める

備考

ベータ版

Lakebase Postgres (オートスケール Beta) は、 Lakebase の次のバージョンであり、評価のみに利用できます。 本番運用ワークロードの場合は、 Lakebase Public Previewを使用します。 どのバージョンが適しているかを判断するには、バージョンの選択を参照してください。

わずか数分で Lakebase Postgres を起動して実行できます。最初のプロジェクトを作成し、データベースに接続し、Unity Catalog の統合などの主要な機能を調べます。

Lakebase Postgres を有効にする (オートスケール Beta)

ワークスペースに Lakebase Postgres (オートスケール Beta) が表示されない場合は、ワークスペース管理者が [設定] > [ワークスペース設定] > [プレビュー機能] から有効にすることができます。 詳細については、 「Lakebase ベータ版へのアクセス」を参照してください。

最初のプロジェクトを作成する

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

アプリスイッチャー

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

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

コンピュートが有効になるまでに数分かかる場合があります。

プロジェクトのリージョンは、ワークスペースのリージョンに自動的に設定されます。詳細な構成オプションについては、 「データベース プロジェクトの作成」を参照してください。

データベースに接続する

プロジェクトから 本番運用 ブランチを選択し、 「接続」 をクリックします。 OAuth 認証を使用して Databricks ID を使用して接続することも、ネイティブの Postgres パスワード ロールを作成することもできます。接続文字列は、 psql 、pgAdmin、または任意の Postgres 互換ツールなどの標準の Postgres クライアントで機能します。

接続ダイアログ

プロジェクトを作成すると、Databricks ID の Postgres ロール (たとえば、 user@databricks.com ) が自動的に作成されます。このロールはデフォルトのdatabricks_postgresデータベースを所有し、 databricks_superuserのメンバーであるため、データベース オブジェクトを管理するための広範な権限が与えられます。

OAuth で Databricks ID を使用して接続するには、接続ダイアログからpsql接続スニペットをコピーします。

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

ターミナルでpsql接続コマンドを入力すると、OAuth トークンの提供を求められます。接続ダイアログの 「OAuth トークンのコピー」 オプションをクリックしてトークンを取得します。

接続の詳細と認証オプションについては、 「接続の概要」を参照してください。

最初のテーブルを作成する

Lakebase SQL エディターには、使い始めるのに役立つサンプル SQL がプリロードされています。プロジェクトから 本番運用 ブランチを選択し、 SQLエディターを開き、提供されたステートメントを実行してplaying_with_lakebaseテーブルを作成し、サンプル データを挿入します。 テーブル エディターを使用して視覚的なデータ管理を行ったり、外部 Postgres クライアントに接続したりすることもできます。

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

クエリオプションの詳細については、 SQL エディター|テーブル エディター| Postgres クライアントを参照してください。

Unity Catalogに登録する

本番運用ブランチにテーブルを作成したので、 Databricks SQL Editor からそのデータをクエリできるように、 Unity Catalogに本番運用データベースを登録しましょう。

  1. アプリスイッチャーを使用してレイクハウスに移動します。
  2. カタログ エクスプローラーで、プラス アイコンをクリックし、 カタログを作成します
  3. カタログ名を入力します (例: lakebase_catalog )。
  4. カタログ タイプとして Lakebase serverless を 選択します。
  5. プロジェクト、 本番運用 ブランチ、およびdatabricks_postgresデータベースを選択します。
  6. 作成 をクリックします。

SQLウェアハウスを使用して、 Databricks SQLエディターから作成したばかりのplaying_with_lakebaseテーブルをクエリします。

SQL
SELECT * FROM lakebase_catalog.public.playing_with_lakebase;

これにより、Lakebase のトランザクション データをレイクハウス アナリティクスと結合するフェデレーション クエリが有効になります。 詳細については、 Unity Catalogに登録するを参照してください。

リバースETLでデータを同期する

Lakebase データを Unity Catalog でクエリ可能にする方法を説明しました。Lakebase は逆方向にも機能し、Unity Catalog から Lakebase データベースにキュレーションされた分析データを取り込みます。これは、レイク ハウスにエンリッチデータ、 ML機能、または集約されたメトリクス コンピュートがあり、それらを低レイテンシのトランザクション クエリでアプリケーションによって処理する必要がある場合に便利です。

まず、Unity Catalog に分析データを表すテーブルを作成します。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 データベースに同期します。

  1. レイクハウス カタログ エクスプローラーで、 main > なんとか > user_segments に移動します。

  2. 作成 > 同期テーブル をクリックします。

  3. 同期を設定します。

    • テーブル名 : user_segments_syncedを入力します。
    • データベースの種類 : Lakebase サーバレス (ベータ) を選択します。
    • 同期モード : 1 回限りのデータ同期の場合は スナップショット を選択します。
    • プロジェクト、 本番運用 ブランチ、およびdatabricks_postgresデータベースを選択します。
  4. 作成 をクリックします。

同期が完了すると、テーブルが Lakebase データベースに表示されます。同期プロセスにより、Unity Catalog スキーマと一致するように Postgres にdefaultスキーマが作成され、 main.default.user_segments_synceddefault.user_segments_syncedになります。アプリスイッチャーを使用して Lakebase に戻り、Lakebase SQL エディターでクエリを実行します。

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

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

これで、レイクハウス アナリティクスがトランザクション データベースに保存できるようになりました。 継続的な同期、高度な構成、およびデータ型のマッピングについては、 「リバース ETL」を参照してください。

次のステップ

最初のプロジェクトを作成したら、次に推奨される手順をいくつか示します。