データベース・インスタンスの作成と管理
プレビュー
この機能は、us-east-1
、us-east-2
、us-west-21
、eu-west-2
、ap-southeast-1
、ap-southeast-2
、eu-central-1
、ap-south-1
の各地域でパブリック プレビュー段階です。
Lakebaseを使用するには、まずデータベースインスタンスを作成する必要があります。このページでは、データベースインスタンスを作成および管理する方法について説明します。
Postgres OLTP データベース プレビューを有効にする
- ワークスペース管理者またはアカウント管理者として、Databricks ワークスペースの上部バーでユーザー名をクリックします。
- メニューから「 プレビュー 」を選択します。
- Lakebase: Managed Postgres OLTP Database をオンにします。
プレビューの管理の詳細については、「 Databricks プレビューの管理」を参照してください。
データベース・インスタンスの作成
データベース インスタンスを作成するには、Databricks UI、API 呼び出し、Python SDK、または CLI を使用します。
ACL に関する情報については、 データベースインスタンス ACLを参照してください。
- UI
- Python SDK
- CLI
- curl
-
ワークスペースのサイドバーで「 コンピュート 」をクリックします。
-
「データベース・インスタンス 」タブをクリックします。
-
「 データベース・インスタンスの作成 」をクリックします。
-
データベース・インスタンス名を入力します。
-
(オプション)ドロップダウンメニューを使用して、 インスタンスサイズ を選択します。容量の選択の詳細については、「 インスタンス容量の管理」を参照してください。
-
(オプション)[ 詳細設定 ] をクリックして、追加の構成を行います。
- [リストア・ウィンドウ ]で、ポイント・イン・タイム・リカバリの子インスタンスを作成できる期間を決定するリテンション期間を設定します。リテンション期間は 2 日から 35 日で、デフォルトは 7 日間です。 詳細については、「 子インスタンスの作成」を参照してください。
- 元のデータベース・インスタンスのコピー・オン・ライト・クローンを作成する場合は、「 親から作成 」をオンにします。追加のパラメーターの詳細については、「 子インスタンスの作成」を参照してください。
- 高可用性ノードが別の DNS エンドポイントを使用して読み取り専用ワークロードを処理する場合は、[ 読み取り可能なセカンダリを許可する ] をオンにします。詳細については、「 高可用性のためのデータベース インスタンスの有効化」を参照してください。
- 高可用性のための追加ノード数を設定します。これらはセカンダリノードと呼ばれ、プライマリノードに障害が発生した場合にフェイルオーバーを実行します。設定する数値のガイダンスについては、「 高可用性のためのデータベース インスタンスの構成と読み取り可能なセカンダリ インスタンスの有効化」を参照してください。
-
作成 をクリックします。
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
インスタンスの停止または開始
データベース・インスタンスを停止または開始するには、データベース・インスタンスに対する CAN MANAGE
パーミッションが必要です。インスタンスを停止または開始するには、Databricks UI、API 呼び出し、Python SDK、または CLI を使用します。
- UI
- Python SDK
- CLI
- curl
- ワークスペースのサイドバーで「 コンピュート 」をクリックします。
- 「データベース・インスタンス 」タブをクリックします。
- 停止または開始するデータベース・インスタンスをクリックします。
- ページの右上隅にある「 停止 」または 「開始 」をクリックします。
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
- ワークスペースのサイドバーで「 コンピュート 」をクリックします。
- 「データベース・インスタンス 」タブをクリックします。
- 削除するデータベース・インスタンスを選択します。
- 「カタログ」 タブをクリックすると、データベース・インスタンスに関連付けられているデータベース・カタログの完全なリストが表示されます。
- データベース・カタログごとに、管理カタログにあり、データベース・カタログとして登録されていないものを含め、 同期されたすべてのテーブルを削除します。
- [ カタログの削除
>]をクリックします。
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
次のステップ
- 他のユーザーが Databricks からデータベース インスタンスにアクセスできるようにします。「データベース ロール、アクセス、特権」および「Databricks ID の Postgres ロールを作成および管理する」を参照してください。
- 外部ツール、SQL エディター、またはノートブックからデータベース インスタンスに接続してクエリを実行します。
- Unity Catalogのデータベース・インスタンスを登録する.
- 既存の Unity Catalog テーブルからデータを同期します。
制限事項と要件
次のセクションでは、管理対象データベース・インスタンスの制限と構成要件について説明します。インスタンスの作成と使用に関する制約については、「 制限事項と考慮事項」を参照してください。
インスタンス名の要件
- 1 から 63 文字の長さにする必要があります。
- 文字で始まる必要があります。
- 英数字とハイフンのみを含めることができます。
- 2 つの連続するハイフンを含めることはできません。