データベース・インスタンスの作成と管理
プレビュー
この機能は、us-east-1
、us-west-2
、eu-west-1
、ap-southeast-1
、ap-southeast-2
、eu-central-1
、us-east-2
、ap-south-1
の各地域でパブリック プレビュー段階です。
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 宣言型パイプライン (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 エディター、またはノートブックからデータベース インスタンスに接続してクエリを実行します。
- Unity Catalogのデータベース・インスタンスを登録する.
- 既存の Unity Catalog テーブルからデータを同期します。
制限事項と要件
次のセクションでは、管理対象データベース・インスタンスの制限と構成要件について説明します。インスタンスの作成と使用に関する制約については、「 制限事項と考慮事項」を参照してください。
インスタンス名の要件
- 1 から 63 文字の長さにする必要があります。
- 文字で始まる必要があります。
- 英数字とハイフンのみを含めることができます。
- 2 つの連続するハイフンを含めることはできません。