このページでは、Spanner のインスタンス パーティションを作成して管理する方法について説明します。
始める前に
インスタンス パーティションを使用するには、空のデータベースに opt_in_dataplacement_preview
データベース オプションを設定する必要があります。
コンソール
Google Cloud コンソールの [インスタンス] ページに移動します。
インスタンス パーティションを追加するインスタンスを選択します。
データをパーティショニングする空のデータベースを選択します。
ナビゲーション メニューで [Spanner Studio] をクリックします。
[Spanner Studio] ページで、[
新しいタブ] をクリックするか、空のエディタタブを使用します。次の
ALTER DATABASE
DDL ステートメントを入力します。GoogleSQL
ALTER DATABASE DATABASE_ID SET OPTIONS (opt_in_dataplacement_preview = true);
DATABASE_ID はデータベースの一意の識別子に置き換えます。
PostgreSQL
ALTER DATABASE DATABASE_ID SET "spanner.opt_in_dataplacement_preview" = TRUE;
DATABASE_ID はデータベースの一意の識別子に置き換えます。
[実行] をクリックします。
gcloud
opt_in_dataplacement_preview
データベース オプションを設定するには、gcloud spanner databases ddl update
を使用します。
GoogleSQL
gcloud spanner databases ddl update DATABASE_ID \
--instance=INSTANCE_ID \
--ddl="ALTER DATABASE DATABASE_ID SET OPTIONS (opt_in_dataplacement_preview = true);"
次のように置き換えます。
DATABASE_ID
: Spanner データベースの永続的な ID。INSTANCE_ID
: Spanner インスタンスの永続的な ID。
PostgreSQL
gcloud spanner databases ddl update DATABASE_ID \
--instance=INSTANCE_ID \
--ddl="ALTER DATABASE DATABASE_ID SET "spanner.opt_in_dataplacement_preview" = TRUE"
次のように置き換えます。
DATABASE_ID
: Spanner データベースの永続的な ID。INSTANCE_ID
: Spanner インスタンスの永続的な ID。
インスタンス パーティションを作成する
コンソール
Google Cloud コンソールで、[Spanner] ページを開きます。
インスタンス パーティションを追加するインスタンスを選択します。
ナビゲーション メニューで [インスタンス パーティション] を選択します。
[インスタンス パーティションを作成する] をクリックします。
インスタンス パーティションを永続的に識別するためのパーティション ID を入力します。インスタンス パーティション ID は、Google Cloud プロジェクト内で一意にする必要があります。インスタンス パーティション ID を後で変更することはできません。
[構成を選択] セクションで、[リージョン] または [マルチリージョン] を選択します。リージョン間で仕様を比較する場合は、[リージョン構成の比較] をクリックします。
プルダウン メニューから構成を選択します。
[コンピューティング容量を割り当てる] セクションの [単位] で、次のいずれかをクリックします。
- 小規模なインスタンス パーティションの場合: 処理ユニット
- 大規模なインスタンスの場合: ノード。1 ノードは 1,000 個の処理ユニットに相当します。
選択したユニットの値を入力します。
インスタンス パーティションには、少なくとも 1 つのノードまたは 1,000 個の処理ユニットが必要です。
[作成] をクリックしてインスタンス パーティションを作成します。
gcloud
インスタンス パーティションを作成するには、gcloud beta spanner instance-partitions create
を使用します。
gcloud beta spanner instance-partitions create INSTANCE_PARTITION_ID \ --config=INSTANCE_PARTITION_CONFIG \ --description="INSTANCE_PARTITION_DESCRIPTION" \ --instance=INSTANCE_ID \ [--nodes=NODE_COUNT | --processing-units=PROCESSING_UNIT_COUNT]
次のように置き換えます。
- INSTANCE_PARTITION_ID: Google Cloud プロジェクト内で一意の永続的なインスタンス パーティション ID。インスタンス パーティション ID を後で変更することはできません。
- INSTANCE_PARTITION_CONFIG: インスタンス パーティション構成の永続的な ID。インスタンス パーティションの地理的位置を定義し、データの保存場所に影響します。
- INSTANCE_PARTITION_DESCRIPTION: Google Cloud コンソールに表示されるインスタンス パーティションの名前。インスタンス パーティション名は、 Google Cloud プロジェクト内で一意である必要があります。
- INSTANCE_ID: このインスタンス パーティションが存在する Spanner インスタンスの永続的な ID。
- NODE_COUNT: ノード数で表されるインスタンス パーティションのコンピューティング容量。1 ノードは 1,000 個の処理ユニットに相当します。
- PROCESSING_UNIT_COUNT: 処理ユニット数で表されるインスタンスのコンピューティング容量。インスタンス パーティションには少なくとも 1,000 個の処理ユニットが必要です。数量については 1,000 の倍数(1,000、2,000、3,000 など)を入力します。
たとえば、eur3
に 5 つのノードを持つインスタンス パーティション europe-partition
を作成するには、次のコマンドを実行します。
gcloud beta spanner instance-partitions create europe-partition --config=eur3 \
--description="europe-partition" --instance=test-instance --nodes=5
クライアント ライブラリ
C++
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
C#
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
Go
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
Java
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
Node.js
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
PHP
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
Python
Spanner 用のクライアント ライブラリをインストールして使用する方法については、Spanner クライアント ライブラリをご覧ください。
インスタンス パーティションの説明を取得する
gcloud
インスタンス パーティションの説明を取得するには、gcloud beta spanner instance-partitions describe
を使用します。
gcloud beta spanner instance-partitions describe PARTITION_ID \ --instance=INSTANCE_ID
次のように置き換えます。
- INSTANCE_PARTITION_ID: インスタンス パーティションの永続的な識別子。
- INSTANCE_ID: インスタンスの永続的な識別子。
たとえば、インスタンス パーティション europe-partition
の説明を取得するには、次のコマンドを実行します。
gcloud beta spanner instance-partitions describe europe-partition
--instance=test-instance
インスタンス パーティションの一覧を取得する
コンソール
Google Cloud コンソールで、[Spanner] ページを開きます。
リストからインスタンスを選択します。
ナビゲーション メニューで [インスタンス パーティション] を選択します。
そのインスタンスに関連付けられているインスタンス パーティションの一覧が表示されます。
gcloud
インスタンス パーティションの一覧を取得するには、gcloud beta spanner instance-partitions list
を使用します。
gcloud beta spanner instance-partitions list --instance=INSTANCE_ID
gcloud CLI により、Spanner インスタンス パーティションの一覧が各インスタンス パーティションの ID、表示名、構成、コンピューティング容量とともに出力されます。
インスタンス パーティションを編集する
次のセクションでは、インスタンス パーティションのコンピューティング容量を変更する方法について説明します。インスタンス パーティション ID、名前、構成は変更できません。
コンピューティング容量を変更する
CPU 使用率とストレージ使用率が推奨最大値を超えないように、十分なコンピューティング容量をプロビジョニングする必要があります。詳細については、Spanner の割り当てと上限をご覧ください。
インスタンス パーティションのコンピューティング容量を増やすには、コンピューティング容量を追加するだけの十分な割り当てがGoogle Cloud プロジェクトに必要です。完了するまでの時間は、増加リクエストのサイズによって異なります。ほとんどの場合、リクエストは数分以内に完了します。まれに、スケールアップが完了するまでに最大 1 時間かかることがあります。
コンソール
Google Cloud コンソールで、[Spanner] ページを開きます。
リストからインスタンスを選択します。
ナビゲーション メニューで [インスタンス パーティション] を選択します。
インスタンス パーティションのリストで、[操作] 列の [その他の操作] をクリックし、[編集] を選択します。
コンピューティング容量を変更するには、測定単位(処理ユニットまたはノード)を選択し、数量を入力します。処理ユニットを使用する場合は、1,000 の倍数(1,000、2,000、3,000 など)で数量を入力します。各ノードは 1,000 の処理ユニットに相当します。
インスタンス パーティションには、少なくとも 1 つのノード(1,000 個の処理ユニット)が必要です。
[保存] をクリックします。
コンピューティング容量を追加するのに十分な割り当てがないことを知らせるダイアログが表示された場合は、指示に従って割り当ての増加をリクエストします。
gcloud
インスタンス パーティションのコンピューティング容量を変更するには、gcloud beta spanner instance-partitions update
を使用します。このコマンドを使用する際は、コンピューティング容量をノードまたは処理ユニットの数として指定します。
gcloud beta spanner instance-partitions update INSTANCE_PARTITION_ID / --instance=INSTANCE_ID / [--nodes=NODE_COUNT | --processing-units=PROCESSING_UNIT_COUNT] [--async]
次のように置き換えます。
- INSTANCE_PARTITION_ID: インスタンス パーティションの永続的な識別子。
- INSTANCE_ID: インスタンスの永続的な識別子。
- NODE_COUNT: ノード数で表されるインスタンス パーティションの新しいコンピューティング容量。1 ノードは 1,000 個の処理ユニットに相当します。
- PROCESSING_UNIT_COUNT: 処理ユニット数で表されるインスタンス パーティションの新しいコンピューティング容量。インスタンス パーティションには少なくとも 1,000 個の処理ユニットが必要です。数量については 1,000 の倍数(1,000、2,000、3,000 など)を入力します。
オプションのフラグ:
--async
: このフラグは、処理中のオペレーションの完了を待たず、すぐにリクエストを返す場合に使用します。
リクエストのステータスを確認するには、gcloud spanner operations describe
を実行します。
インスタンス パーティションを削除する
プレースメントまたはデータに関連付けられているインスタンス パーティションは削除できません。インスタンス パーティションを削除する前に、まずインスタンス パーティション内のデータを移動するか、インスタンス パーティションを使用するプレースメント テーブルを削除する必要があります。
コンソール
Google Cloud コンソールで、[Spanner] ページを開きます。
リストからインスタンスを選択します。
ナビゲーション メニューで [インスタンス パーティション] を選択します。
インスタンス パーティションのリストで、[操作] 列の [その他の操作] をクリックし、[削除] を選択します。
手順に沿ってパーティションの削除を確認します。
[削除] をクリックします。
gcloud
gcloud beta spanner instance-partitions delete
コマンドを使用します。
gcloud beta spanner instance-partitions delete INSTANCE_PARTITION_ID --instance=INSTANCE_ID
次のステップ
- プレースメント テーブルとキーを作成、管理する方法を確認する。