データベース・インスタンスの作成と管理
Lakebaseプロビジョニングは、手動でスケールするプロビジョニング コンピュートを使用するオリジナルのLakebaseオファリングです。 サポートされているリージョンについては、 「リージョンの提供状況」を参照してください。オートスケール コンピュート、ゼロへのスケール、分岐、インスタント復元を備えたLakebaseの最新バージョンについては、 Lakebaseオートスケール」を参照してください。
新しい Lakebase インスタンスはオートスケール プロジェクトとして作成されます。 ロールアウトは 2026 年 3 月 12 日に開始されます。詳しくはデフォルトAutoscalingをご覧ください。
OLTP ワークロードを開始するには、Databricks UI、API 呼び出し、Python SDK、または CLI を使用して、Lakebase Provisionedされたデータベース インスタンスを作成します。
データベースインスタンスの作成
推奨されるデフォルトでデータベース・インスタンスを作成します。インスタンス名を指定する必要があります (1 から 63 文字、文字、ハイフンのみ)。作成者は、 databricks_superuser ロールを持つデータベース所有者です。
ほとんどのワークスペース・ユーザーは、デフォルトでデータベース・インスタンスを作成できます。権限の問題が発生した場合は、「 データベース・インスタンスの権限」を参照してください。
- UI
- Python SDK
- CLI
- curl
-
クリック
右上隅の アプリを クリックし、 Lakebase Postgres を選択します。
-
[プロビジョニング済み] をクリックして、 [プロビジョニング済みインスタンス] ページを開きます。
-
「 データベース・インスタンスの作成」 をクリックします。
-
インスタンスを構成します。
- 名前 : データベースインスタンス名を入力します (1 ~ 63 文字、文字とハイフンのみ)。
- 容量 :コンピュートサイズ(自信:2CU)を選択してください。 インスタンス サイズを参照してください。
- レスサーバーの使用ポリシー : サーバーレスの使用量と請求を属性にするための予算ポリシーを選択します (オプション)。 サーバーレス使用ポリシーを参照してください。
-
(オプション) 詳細設定 を展開して以下を構成します。
-
作成 をクリックします。
from databricks.sdk import WorkspaceClient
from databricks.sdk.service.database import DatabaseInstance
# Initialize the Workspace client
w = WorkspaceClient()
# Create a database instance
instance = w.database.create_database_instance(
DatabaseInstance(
name="my-database-instance",
capacity="CU_1"
)
)
print(f"Created database instance: {instance.name}")
print(f"Connection endpoint: {instance.read_write_dns}")
# Create a database instance
databricks database create-database-instance my-database-instance \
--capacity CU_1
# Create with advanced options (using JSON for more complex parameters)
databricks database create-database-instance \
--json '{
"name": "my-database-instance",
"capacity": "CU_2",
"retention_window_in_days": 14
}'
データベース・インスタンスを作成し、保存期間を指定します。
export PAT=<YOUR_PAT>
export INSTANCE_NAME="instance_name"
> curl -X POST --header "Authorization: Bearer ${DATABRICKS_TOKEN}" https://[your databricks workspace]/api/2.0/database/instances \
--data-binary @- << EOF
{
"name": "$INSTANCE_NAME",
"capacity": "CU_1",
"retention_window_in_days": 14
}
EOF
詳細設定
これらの機能は、インスタンスを編集して、作成中または作成後に構成することもできます。
機能 | 説明 |
|---|---|
データベースインスタンスの予算ポリシーを選択して、サーバレスの使用状況と請求を特定の予算に帰属させます。 カスタムタグを追加することもできます。 | |
ワークロードのパフォーマンス要件に合わせて コンピュート リソースをスケーリングします (デフォルト to 2 CU)。 | |
ポイントインタイム復旧の保持期間 (2 から 35 日、デフォルト 7 日) を設定します。 | |
フェイルオーバーノードを追加して、本番運用ワークロードのビジネス継続性を確保します。 | |
既存のデータベース・インスタンスからコピー・オン・ライト・クローンを作成します。 |
インスタンスの停止または開始
データベースインスタンスを停止または起動するには、そのインスタンスに対する CAN MANAGE 権限が必要です。インスタンスを停止または開始するには、Databricks UI、API 呼び出し、Python を使用します
SDK または CLI です。
- UI
- Python SDK
- CLI
- curl
- クリック
右上隅の アプリを クリックし、 Lakebase Postgres を選択します。
- [プロビジョニング済み] をクリックして、 [プロビジョニング済みインスタンス] ページを開きます。
- 停止または開始するデータベース・インスタンスをクリックします。
- ページの右上隅にある [停止] または [ 開始 ] をクリックします。
from databricks.sdk import WorkspaceClient
from databricks.sdk.service.database import DatabaseInstance
# Initialize the Workspace client
w = WorkspaceClient()
# Stop a database instance
instance_name = "my-database-instance"
w.database.update_database_instance(
name=instance_name,
database_instance=DatabaseInstance(
name=instance_name,
stopped=True
),
update_mask="*"
)
print(f"Stopped database instance: {instance_name}")
# Start a database instance
w.database.update_database_instance(
name=instance_name,
database_instance=DatabaseInstance(
name=instance_name,
stopped=False
),
update_mask="*"
)
print(f"Started database instance: {instance_name}")
# Stop a database instance
databricks database update-database-instance my-database-instance '*' \
--json '{
"stopped": true
}'
# Start a database instance
databricks database update-database-instance my-database-instance '*' \
--json '{
"stopped": false
}'
次の API 呼び出しは、データベースインスタンスを停止します。
-X PATCH --header "Authorization: Bearer ${DATABRICKS_TOKEN}" https://$WORKSPACE/api/2.0/database/instances/$INSTANCE_NAME \
--data-binary @- << EOF
{
"stopped": true
}
EOF
次の API 呼び出しは、データベースインスタンスを開始します。
curl -X PATCH --header "Authorization: Bearer ${DATABRICKS_TOKEN}" https://$WORKSPACE/api/2.0/database/instances/$INSTANCE_NAME \
--data-binary @- << EOF
{
"stopped": false
}
EOF
停止時の動作
データベース・インスタンスの動作:
- データは保持されます。
- インスタンスは、読み取りまたは書き込み操作には使用できません。
- 同期されたテーブルは 読み取りを提供しません。
- Lakeflow Spark宣言型パイプライン (LDP) は停止したインスタンスを検出せず、エラーを返す可能性があります。
- 停止したインスタンスに登録されたカタログには、UI にスキーマの詳細が表示されません。
機能上の制限:
DatabaseTablesまたはDatabaseCatalogsを作成または削除することはできません。- 停止したインスタンスを削除したり、サイズを変更したりできます。容量の変更は、インスタンスの再起動時に有効になります。
- パイプラインを停止できます。
起動時の動作
- インスタンスは
STARTING状態になり、準備ができたらAVAILABLEになります。
制限
- LDP は停止したインスタンスを検出せず、エラーを返す可能性があります。
- 停止したインスタンスに登録されたカタログには、UI にスキーマの詳細が表示されません。
インスタンスを削除する
データベースインスタンスを削除すると、関連するすべてのデータが削除されるため、注意してください。
データベース・インスタンスに対する CAN MANAGE 権限が必要です。テーブルまたはカタログの所有者でない場合は、所有権を自分自身に再割り当てする必要があります。ワークスペース管理者は、所有していないデータベース インスタンスを削除できます。
Databricks では、データベース インスタンスを削除する前に、関連付けられているすべての Unity Catalog カタログ、同期されたテーブル、子インスタンスを削除することをお勧めします。そうしないと、カタログを表示したり、カタログを参照する SQL 照会を実行しようとすると、エラーが発生します。
- UI
- Python SDK
- CLI
- curl
- クリック
右上隅の アプリを クリックし、 Lakebase Postgres を選択します。
- [プロビジョニング済み] をクリックして、 [プロビジョニング済みインスタンス] ページを開きます。
- 削除するデータベース・インスタンスを選択します。
- Lakebae アプリのサイドバーで カタログを 選択すると、データベース インスタンスに関連付けられているデータベース カタログの完全なリストが表示されます。
- データベース・カタログごとに、管理対象カタログにあり、データベース・カタログとして登録されていない表を含め、 同期されたすべての表を削除します。
- [ カタログ
>削除]をクリックします。
from databricks.sdk import WorkspaceClient
# Initialize the Workspace client
w = WorkspaceClient()
# Delete a database instance
instance_name = "my-database-instance"
w.database.delete_database_instance(
name=instance_name,
purge=True # Required to delete the instance
)
print(f"Deleted database instance: {instance_name}")
# Delete with force option (to delete child instances too)
w.database.delete_database_instance(
name=instance_name,
force=True, # Delete child instances too
purge=True
)
# Delete a database instance
databricks database delete-database-instance my-database-instance \
--purge
# Delete with force option (to delete child instances too)
databricks database delete-database-instance my-database-instance \
--json '{
"force": true,
"purge": true
}'
purge=true データベース・インスタンスを削除するには、指定する必要があります。
curl -X DELETE --header "Authorization: Bearer ${DATABRICKS_TOKEN}" https://$WORKSPACE/api/2.0/database/instances/$INSTANCE_NAME?purge=true
データベースインスタンスのサーバレス使用ポリシーを更新する
サーバーレス使用ポリシーは、ポリシーに割り当てられたユーザーによって発生するサーバーレス コンピュート アクティビティに適用されるタグで構成されます。 データベース インスタンスにサーバーレス使用ポリシーをタグ付けすることで、請求と使用コストを特定のポリシーに帰属させることができ、サーバーレス リソース全体にわたる支出の追跡、管理、および制御が容易になります。
UIを使用して、データベース・インスタンスの予算ポリシーを更新します。
- クリック
右上隅の アプリを クリックし、 Lakebase Postgres を選択します。
- [プロビジョニング済み] をクリックして、 [プロビジョニング済みインスタンス] ページを開きます。
- 課金ポリシーを更新するデータベース・インスタンスを選択します。
- 右上の [編集] をクリックします。
- サーバーレス使用ポリシー を選択します。
- 保存 をクリックします。
インスタンス容量を管理する
インスタンスのサイズを変更するには、 CAN MANAGE権限が必要です。サイズ変更には数分かかる場合があり、インスタンスを再起動すると反映されます。
各容量ユニットには、関連するCPUとローカルSSDに加えて、約16GBのRAMが割り当てられます。 。 スケーリングを行う前に、クエリをテストして最適化してください。ストレージは自動的に拡張されます。
- UI
- curl
- Python SDK
- CLI
- クリック
右上隅の アプリを クリックし、 Lakebase Postgres を選択します。
- [プロビジョニング済み] をクリックして、 [プロビジョニング済みインスタンス] ページを開きます。
- サイズ変更したいデータベースインスタンスを選択してください。
- 右上隅の 編集 をクリックします。
- サイズ ドロップダウンメニューを使用して、新しいインスタンスサイズを選択します。
- 保存 をクリックします。
curl -X PATCH --header "Authorization: Bearer ${DATABRICKS_TOKEN}" https://$WORKSPACE/api/2.0/database/instances/$INSTANCE_NAME \
--data-binary @- << EOF
{
"capacity": "CU_4"
}
EOF
from databricks.sdk import WorkspaceClient
from databricks.sdk.service.database import DatabaseInstance
w = WorkspaceClient()
instance_name = "my-database-instance"
w.database.update_database_instance(
name=instance_name,
database_instance=DatabaseInstance(name=instance_name, capacity="CU_4"),
update_mask="*"
)
databricks database update-database-instance my-database-instance '*' --capacity CU_4
データベースインスタンスを監視する
インスタンス詳細ページの 「モニタリング」 タブからメトリクスにアクセスできます。
- クリック
右上隅の アプリを クリックし、 Lakebase Postgres を選択します。
- [プロビジョニング済み] をクリックして、 [プロビジョニング済みインスタンス] ページを開きます。
- 監視対象のデータベースインスタンスを選択してください。
- Lakebaseアプリのサイドバーから 「モニタリング」 を選択してください。
以下のメトリクスを使用して、パフォーマンスの傾向を分析し、潜在的なボトルネックを特定し、アプリケーションの使用を最適化するか、インスタンスを拡張するかを評価します。
-
1秒あたりのトランザクション数: コミットされたトランザクションのスループットを示します。これを利用して、ワークロードのパターンを把握し、トランザクションのピーク期間を特定してください。この値が継続的に高い場合は、クライアントの動作を最適化するか、インスタンスのサイズを増やすことを検討してください。
-
1秒あたりの行数: 取得、返された行数、挿入された行数、更新された行数、削除された行数を表示します。フェッチされた行数とは、クライアントに返された行数を指します。返された行数とは、クエリによって読み取られた行数を指します。ワークロードの種類とそれがシステムに与える影響を診断するのに役立ちます。パフォーマンスに制約がある場合は、インデックスの追加やクエリパターンの最適化を検討してください。
-
開いている接続数: 開いているアクティブな接続数を表示します。接続はインスタンスのリソースを消費します。これを使用して、クライアント側の接続プーリングが必要かどうかを評価します。接続可能な最大数については、制限事項を参照してください。
-
ストレージ使用率: インスタンスの現在のストレージ使用率を示します。使用率が Lakebase Provisionedの制限に近づいた場合は、不要なデータまたはインデックスを削除します。 または、サポートに連絡して割り当て量の増加をリクエストしてください。
-
CPU使用率(%): データベースインスタンスのCPU使用率を測定します。CPU使用率が高い場合は、計算負荷の高いワークロードが発生している可能性があります。アプリケーション側の最適化、またはインスタンスサイズの増加を検討してください。
-
ページ読み取りスループット(%): インスタンスがページ読み取り容量にどれだけ近いかを示します。これは通常、キャッシュミスによって発生します。値が高い場合は、ワークロードまたはワーキングセットを削減するか、インデックスを追加するか、クライアント側でクエリをキャッシュするか、データを効率化してください。
-
バッファキャッシュヒット率(%): メモリから読み取られたデータの割合を示します。高性能ワークロードでは、99%を超える値が見られるはずです。低いレートは、ワークロードがキャッシュ容量を超えているか、最適化によって改善される可能性があることを示唆しています。
-
ローカルSSDキャッシュヒット率(%): バッファキャッシュミス後にSSDキャッシュから処理された読み取りの割合を追跡します。値を低く設定すると、ページ読み取りスループットが向上する可能性があります。バッファキャッシュと同様の最適化手法を用いるか、より大きなインスタンスの使用を検討してください。
-
1秒あたりのデッドロック数: トランザクションがデッドロックに遭遇する頻度を測定します。これは通常、複数のトランザクションが同じリソースに競合する順序でアクセスした場合に発生します。デッドロックを防ぐために、ワークロードを調査し、リファクタリングを行う。
次のステップ
- 同期されたテーブルを使用してレイクハウス データを提供します。
- データベースインスタンスに接続してクエリを実行します。
- 登録する database instance in Unity Catalog.
- Databricksから他のユーザーがデータベースインスタンスにアクセスできるようにします。「権限とPostgresロールの管理」を参照してください。
制限事項と要件
以下のセクションでは、マネージドデータベースインスタンスの制限事項と構成要件について説明します。
- ワークスペースでは、最大10個のインスタンスを作成できます。
- 各インスタンスは最大1000の 接続をサポートします。
- インスタンス内のすべてのデータベースにおける論理サイズの上限は2TBです。
- データベースインスタンスは、単一のワークスペースに限定されます。
インスタンス名の要件
- 1 文字から 63 文字の長さにする必要があります。
- 文字で始まる必要があります。
- 英数字とハイフンのみを含めることができます。
- 2 つの連続したハイフンを含めることはできません。