データベース・インスタンスの作成と管理
プレビュー
この機能は、us-east-1、 us-west-2、 eu-west-1、 ap-southeast-1、 ap-southeast-2、 eu-central-1、 us-east-2、 ap-south-1のリージョンでパブリック プレビューとして提供されています。
Lakebase プロビジョニング プレビューは、手動でスケールするプロビジョニング コンピュートを使用します。 オートスケール コンピュート、分岐、即時復元、その他の高度な機能をサポートする Lakebase の新しいバージョンについては、 「Lakebase Postgres (オートスケール プレビュー)」を参照してください。 どのバージョンが適しているかを判断するには、バージョンの選択を参照してください。
OLTP ワークロードの使用を開始するには、Databricks UI、API 呼び出し、Python SDK、または CLI を使用して Lakebase データベース インスタンスを作成します。
データベースインスタンスの作成
推奨されるデフォルトでデータベース・インスタンスを作成します。インスタンス名を指定する必要があります (1 から 63 文字、文字、ハイフンのみ)。作成者は、 databricks_superuser ロールを持つデータベース所有者です。
ほとんどのワークスペース・ユーザーは、デフォルトでデータベース・インスタンスを作成できます。権限の問題が発生した場合は、「 データベース・インスタンスの権限」を参照してください。
- UI
- Python SDK
- CLI
- curl
- ワークスペースのサイドバーで「 コンピュート 」をクリックします。
- [ Lakebase Postgres ] タブをクリックします。
- 「 データベース・インスタンスの作成」 をクリックします。
- データベース・インスタンス名を入力します(1〜63文字、文字、ハイフンのみ)。
- 作成 をクリックします。
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 ] タブをクリックします。
- 削除するデータベース・インスタンスを選択します。
- 「 カタログ」 タブをクリックすると、データベース・インスタンスに関連付けられているデータベース・カタログの完全なリストが表示されます。
- データベース・カタログごとに、管理対象カタログにあり、データベース・カタログとして登録されていない表を含め、 同期されたすべての表を削除します。
- [ カタログ
>削除]をクリックします。
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 ] タブをクリックします。
- 課金ポリシーを更新するデータベース・インスタンスを選択します。
- 右上の [編集] をクリックします。
- サーバレス予算ポリシー を選択します。
- 保存 をクリックします。
次のステップ
- 他のユーザーが Databricks からデータベース インスタンスにアクセスできるようにします。「権限の管理」および「Postgres ロールの管理」を参照してください。
- 外部ツール、SQL エディター、またはノートブックからデータベース インスタンスを接続してクエリします。
- 登録する database instance in Unity Catalog.
- 既存の Unity Catalog テーブルからデータを同期します。
制限事項と要件
次のセクションでは、管理対象データベース・インスタンスの制限および構成要件について説明します。インスタンスの作成と使用に関する制約については、「 制限事項と考慮事項」を参照してください。
インスタンス名の要件
- 1 文字から 63 文字の長さにする必要があります。
- 文字で始まる必要があります。
- 英数字とハイフンのみを含めることができます。
- 2 つの連続したハイフンを含めることはできません。