メインコンテンツに移動

概要

Lakebase Postgres とは

Lakebase Postgres は、Databricks ワークスペース内で動作するマネージド PostgreSQL で、ワークスペースのデータやサービスと同じ場所に配置されます。

アプリが低レイテンシで頻繁に読み書きするデータに使用します。ユーザー状態、セッション、チャット履歴、ログなどを、Lakehouse の分析データと同じ場所に保存できます。

このページは Lakebase を AppKit の観点から説明したものです。Lakebase Postgres 自体(プロジェクト、branching、オートスケーリング、接続)については、Lakebase のドキュメント または databricks-lakebase エージェントスキルを参照してください。

自前で運用する Postgres との違い

  • ワークスペース内で動作するため、VPC ピアリングやクラウドをまたぐ認証情報の管理が不要になり、ネットワークレイテンシも解消されます。
  • 即時の branching:コピーオンライト方式のストレージにより、git の branch と同じように、分離されたデータベースのコピーを数秒で作成できます。branch は変更のないデータを共有するため、作成も維持も低コストです。
  • オートスケール:設定した最小/最大の範囲内で、負荷に応じてスケールアップし、需要が減ればスケールダウンします。キャパシティプランニングや手動でのサイズ変更は不要です。
  • ゼロスケール:アイドル時はゼロまで縮小し、次のクエリで再開します。アイドル状態の compute に対する料金は発生しません。非アクティブタイムアウトは既定で 24 時間、60 秒から 7 日の範囲で設定できます。

AppKit による接続の仕組み

createApplakebase() プラグインを追加すると、OAuth トークンを自動でリフレッシュする pg.Pool がプラグインによってセットアップされます。

import { createApp, lakebase, server } from "@databricks/appkit";

const AppKit = await createApp({
  plugins: [server(), lakebase()],
});

// 標準的な pg.Pool のクエリ
const { rows } = await AppKit.lakebase.query("SELECT * FROM app.items");

// ORM ですぐに使える設定(Drizzle、Prisma など)
const ormConfig = AppKit.lakebase.getOrmConfig();

このプラグインは、OAuthトークンのリフレッシュとコネクションプーリングを自動的に処理します。デプロイ時には、プラットフォームが接続情報を環境変数として注入し、プラグインがそれを読み取ります。手動での設定は不要です。プールの設定オプションとAPIの詳細については、AppKit lakebase プラグインリファレンスを参照してください。

利用に適したケース

  • アプリで低レイテンシの読み書きが必要な場合: ユーザー状態、セッション、会話履歴、トランザクションレコードなど。
  • 永続的なメモリを必要とするAIエージェントを構築する場合: リクエストをまたいだ会話履歴、ワークフロー状態、ツールの実行結果など。
  • 機能開発やCIテスト向けに、分離されたデータベースbranchを使いたい場合。
  • 変更データキャプチャ(CDC)によって、OLTPワークロードとData Lakehouseの間でデータを同期する場合。

使用すべきでないケース

  • 純粋な分析用途: 大規模データセットに対する読み取り専用クエリは、Lakebase Postgres ではなく Unity Catalog で扱うべきです。
  • Databricks ワークスペースに他の依存関係を持たないアプリ。コロケーションの利点が活かせないうえ、認証は自前で実装する必要があります (ワークスペース外で動作するアプリには、Databricks が資格情報を注入したりトークンを更新したりすることはありません)。

次のステップ

テンプレートは、ユースケース別に整理されたエージェント対応のプロンプトです。目的に合うものを探すか、手順を追って進めたい場合はLakebase Postgres クイックスタートを参照してください。

Databricks Developer Hub

次のエージェント型アプリを数分でリリースする準備はできていますか?

ドキュメントを読む