データベース インスタンスの作成と管理

Important

Lakebase Provisioned は、手動でスケーリングするプロビジョニング済みコンピューティングを使用する元の Lakebase オファリングです。 サポートされているリージョンについては、「 リージョンの可用性」を参照してください。 自動スケール コンピューティング、ゼロへのスケール、分岐、インスタント リストアを使用した最新バージョンの Lakebase については、 Lakebase の自動スケールに関するドキュメントを参照してください。

2026 年 3 月 12 日以降、新しい Lakebase インスタンスが自動スケール プロジェクトとして作成されます。 既存のプロビジョニング済みインスタンスは、2026 年 6 月から自動スケールに自動的にアップグレードされます。 詳細については、「 Lakebase 自動スケールへのアップグレード」を参照してください。

OLTP ワークロードの使用を開始するには、Azure Databricks UI、API 呼び出し、Python SDK、または CLI を使用して Lakebase Provisioned データベース インスタンスを作成します。

データベース インスタンスを作成する

推奨される既定値を使用してデータベース インスタンスを作成します。 インスタンス名を指定する必要があります (1 ~ 63 文字、文字、ハイフンのみ)。 作成者は、 databricks_superuser ロールを持つデータベース所有者です。

ほとんどのワークスペース ユーザーは、既定でデータベース インスタンスを作成できます。 アクセス許可の問題が発生した場合は、 データベース インスタンスのアクセス許可を参照してください。

UI

  1. [アプリ] アイコンをクリックします。右上隅にあるアプリを選択し、Lakebase Postgres を選択します。
  2. [ プロビジョニング済み ] をクリックして、[ プロビジョニングされたインスタンス ] ページを開きます。
  3. [ データベース インスタンスの作成] をクリックします。
  4. インスタンスを構成します。
    • 名前: データベース インスタンス名を入力します (1 ~ 63 文字、文字、ハイフンのみ)。
    • 容量: コンピューティング サイズ (既定値: 2 CU) を選択します。 「インスタンス サイズ」を参照してください。
    • サーバーレス使用ポリシー: サーバーレスの使用状況と課金を属性付けする使用ポリシーを選択します (省略可能)。 サーバーレス使用ポリシーを参照してください。
  5. (省略可能)[ 詳細設定] を展開して構成します。
    • 親からの作成: 特定の時点までのデータを含む、既存のインスタンスから書き込み時のコピークローンを作成します。 親から作成するを参照してください。
    • HA を有効にする: フェールオーバー ノードで高可用性を有効にし、読み取り可能なセカンダリを構成し、HA ノードの数を設定します。 高可用性を参照してください。
  6. Create をクリックしてください。

Python SDK

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}")

CLI

# 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
  }'

curl

データベース インスタンスを作成し、保持期間を指定します。

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

詳細設定

作成中または作成後にインスタンスを編集して、これらの機能を構成することもできます。

特徴 Description
サーバーレス使用ポリシー サーバーレス使用量と課金を特定の予算に属性付けするために、データベース インスタンスの使用ポリシーを選択します。 カスタム タグを追加することもできます。
インスタンス サイズ ワークロードのパフォーマンス要件に合わせてコンピューティング リソースをスケーリングします (既定値は 2 CU)。
ウィンドウを復元する ポイントインタイム リカバリーのリテンション期間 (2 ~ 35 日、既定では 7 日間) を設定します。
高可用性 運用ワークロードのビジネス継続性を確保するために、フェールオーバー ノードを追加します。
親から生成する 既存のデータベース インスタンスから書き込み時のコピークローンを作成します。

インスタンスを停止または開始する

データベース インスタンスを停止または開始するには、データベース インスタンスに対する CAN MANAGE 権限が必要です。 インスタンスを停止または開始するには、Azure Databricks UI、API 呼び出し、Python SDK、または CLI を使用します。

UI

  1. [アプリ] アイコンをクリックします。右上隅にあるアプリを選択し、Lakebase Postgres を選択します。
  2. [ プロビジョニング済み ] をクリックして、[ プロビジョニングされたインスタンス ] ページを開きます。
  3. 停止または開始するデータベース インスタンスをクリックします。
  4. ページの右上隅にある [ 停止 ] または [開始 ] をクリックします。

Python SDK

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}")

CLI

# 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
  }'

curl

次の 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 宣言パイプライン (NSG) は停止したインスタンスを検出せず、エラーを返す可能性があります。
  • 停止したインスタンスに登録されたカタログは、UI にスキーマの詳細を表示しません。

機能上の制限事項:

  • DatabaseTablesまたはDatabaseCatalogsを作成または削除することはできません。
  • 停止したインスタンスを削除またはサイズ変更できます。 容量の変更は、インスタンスの再起動時に有効になります。
  • パイプラインを停止できます。

起動時の動作

  • インスタンスは STARTING 状態になり、準備ができたら AVAILABLE になります。

制限事項

  • LDPは停止したインスタンスを検出せず、エラーを返す可能性があります。
  • 停止したインスタンスに登録されたカタログは、UI にスキーマの詳細を表示しません。

インスタンスを削除する

データベース インスタンスを削除すると、関連付けられているすべてのデータが削除されるため、注意が必要です。

データベース インスタンスに対する CAN MANAGE 権限が必要です。 テーブルまたはカタログの所有者でない場合は、自分に所有権を再割り当てする必要があります。 ワークスペース管理者は、所有していないデータベース インスタンスを削除できます。

Databricks では、データベース インスタンスを削除する前に、関連付けられているすべての Unity カタログ カタログ、同期テーブル、および子インスタンスを削除することをお勧めします。 それ以外の場合、カタログを表示したり、カタログを参照する SQL クエリを実行しようとすると、エラーが発生します。

UI

  1. [アプリ] アイコンをクリックします。右上隅にあるアプリを選択し、Lakebase Postgres を選択します。
  2. [ プロビジョニング済み ] をクリックして、[ プロビジョニングされたインスタンス ] ページを開きます。
  3. 削除するデータベース インスタンスを選択します。
  4. [Lakebae アプリ] サイドバーで [ カタログ ] を選択すると、データベース インスタンスに関連付けられているデータベース カタログの完全な一覧が表示されます。
  5. 各データベース カタログについて、同期されたすべてのテーブル (マネージド カタログにあり、データベース カタログとして登録されていないテーブルも含む) を削除します。
  6. [Kebab] メニュー アイコンを クリックします。>カタログを削除します

Python SDK

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
)

CLI

# 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
  }'

curl

purge=true は、データベース インスタンスを削除するために指定する必要があります。

curl -X DELETE --header "Authorization: Bearer ${DATABRICKS_TOKEN}" https://$WORKSPACE/api/2.0/database/instances/$INSTANCE_NAME?purge=true

データベース インスタンスのサーバーレス使用ポリシーを更新する

サーバーレス使用ポリシーは、ポリシーに割り当てられたユーザーによって発生するサーバーレス コンピューティング アクティビティに適用されるタグで構成されます。 サーバーレス使用ポリシーを使用してデータベース インスタンスにタグを付けることで、課金と使用コストを特定のポリシーに属性付けし、サーバーレス リソース間の支出の追跡、管理、制御を容易にすることができます。

UI を使用して、データベース インスタンスの使用ポリシーを更新します。

  1. [アプリ] アイコンをクリックします。右上隅にあるアプリを選択し、Lakebase Postgres を選択します。
  2. [ プロビジョニング済み ] をクリックして、[ プロビジョニングされたインスタンス ] ページを開きます。
  3. 課金ポリシーを更新するデータベース インスタンスを選択します。
  4. 右上の [編集] をクリックします。
  5. サーバーレス使用ポリシーを選択します。
  6. [保存] をクリックします。

インスタンス容量の管理

インスタンスのサイズを変更するには、 CAN MANAGE アクセス許可が必要です。 サイズ変更には数分かかる場合があり、インスタンスの再起動時に有効になります。

各容量ユニットは、関連付けられている CPU およびローカル SSD リソースと共に約 16 GB の RAM を割り当てます。 スケーリングの前に、クエリをテストして 最適化します。 ストレージは自動的にスケーリングされます。

UI

  1. [アプリ] アイコンをクリックします。右上隅にあるアプリを選択し、Lakebase Postgres を選択します。
  2. [ プロビジョニング済み ] をクリックして、[ プロビジョニングされたインスタンス ] ページを開きます。
  3. サイズを変更するデータベース インスタンスを選択します。
  4. 右上隅にある [ 編集] をクリックします。
  5. [ 容量 ] ドロップダウン メニューを使用して、新しいインスタンス サイズを選択します。
  6. [保存] をクリックします。

curl

curl -X PATCH --header "Authorization: Bearer ${DATABRICKS_TOKEN}" https://$WORKSPACE/api/2.0/database/instances/$INSTANCE_NAME \
--data-binary @- << EOF
{
  "capacity": "CU_4"
}
EOF

Python SDK

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="*"
)

CLI

databricks database update-database-instance my-database-instance '*' --capacity CU_4

データベース インスタンスを監視する

インスタンスの詳細ページの [ 監視 ] タブからメトリックにアクセスします。

  1. [アプリ] アイコンをクリックします。右上隅にあるアプリを選択し、Lakebase Postgres を選択します。
  2. [ プロビジョニング済み ] をクリックして、[ プロビジョニングされたインスタンス ] ページを開きます。
  3. 監視するデータベース インスタンスを選択します。
  4. [Lakebase アプリ] サイドバーから [ 監視 ] を選択します。

次のメトリックを使用して、パフォーマンスの傾向を分析し、潜在的なボトルネックを特定し、アプリケーションの使用を最適化するか、インスタンスをスケーリングするかを評価します。

  • 1 秒あたりのトランザクション数: コミット済みトランザクションのスループットを表示します。 これを使用して、ワークロード パターンを理解し、ピーク時のトランザクション期間を特定します。 この値が常に高い場合は、クライアントの動作を最適化するか、インスタンスのサイズを大きくすることを検討してください。

  • 1 秒あたりの行数: フェッチ、返送、挿入、更新、および削除された行の数を表示します。 行の取得は、クライアントに返される行の数を指します。 返される行は、クエリによって読み取られた行の数を指します。 ワークロードの種類とシステムへの影響を診断するのに役立ちます。 パフォーマンスが制限されている場合は、インデックスの追加またはクエリ パターンの最適化を検討してください。

  • 接続を開く: 開いているアクティブな接続の数を表示します。 接続はインスタンス リソースを使用します。 これを使用して、クライアント側の接続プールが必要かどうかを評価します。 許可される接続の最大数については、制限を参照してください。

  • ストレージ使用率: インスタンスの現在のストレージ使用量を示します。 使用率が Lakebase Provisioned の制限に近づく場合は、不要なデータまたはインデックスを削除します。 または、サポートに連絡してクォータの引き上げを要求してください。

  • CPU 使用率 (%): データベース インスタンスの CPU 使用率を測定します。 CPU 使用率が高い場合は、計算負荷の高いワークロードを示している可能性があります。 アプリケーション側の最適化を検討するか、インスタンスのサイズを大きくします。

  • ページ読み取りスループット (%): インスタンスがページ読み取り容量にどの程度近いかを反映します。通常はキャッシュ ミスが原因です。 値が大きい場合は、ワークロードまたはワーキング セットの削減、インデックスの追加、クライアント側でのクエリのキャッシュ、またはデータの合理化を行います。

  • バッファー キャッシュ ヒット 率 (%): メモリから提供された読み取りの割合を示します。 パフォーマンスの高いワークロードでは、99%を超える値が表示されます。 低いレートでは、ワークロードがキャッシュ容量を超えているか、最適化の恩恵を受ける可能性があることを示唆しています。

  • ローカル SSD キャッシュ ヒット 率 (%): バッファー キャッシュ ミス後に SSD キャッシュから処理された読み取りの割合を追跡します。 値を小さくすると、ページ読み取りのスループットが向上する可能性があります。 バッファー キャッシュと同様の最適化を使用するか、より大きなインスタンスを検討してください。

  • 1 秒あたりのデッドロック数: トランザクションでデッドロックが発生する頻度を測定します。 これらは通常、複数のトランザクションが競合する順序で同じリソースにアクセスする場合に発生します。 ワークロードを調査してリファクタリングし、デッドロックを防ぎます。

次のステップ

制限事項と要件

次のセクションでは、マネージド データベース インスタンスの制限と構成要件について説明します。

  • ワークスペースでは、最大 10 個のインスタンスを使用できます。
  • 各インスタンスは、最大 1,000 個の同時接続をサポートします。
  • インスタンス内のすべてのデータベースの論理サイズ制限は 2 TB です。
  • データベース インスタンスのスコープは 1 つのワークスペースです。

インスタンス名の要件

  • 1 ~ 63 文字にする必要があります。
  • アルファベットで始める必要があります。
  • 英数字とハイフンのみを含めることができます。
  • 連続するハイフンを 2 つ含めることはできません。