割り当てと上限

このページでは、Cloud Spanner で提供されるサービスの上限について説明します。

これらの値は変更される場合があります。

割り当てを確認する

プロジェクト用のリソースの現在の割り当て量を確認するには、Google Cloud Console を使用できます。

割り当てを確認する

割り当てを増やす

Cloud Spanner の使用量が多くなるに伴い、割り当てを増やすことができます。使用量の大幅な増加が見込まれる場合は、十分なサイズの割り当てを確保できるように、数日前にリクエストしてください。

  1. Cloud Console の [割り当て] ページに移動します。

    [割り当て] ページに移動

  2. [サービス] プルダウン リストから [Cloud Spanner API] を選択します。

    [Cloud Spanner API] が表示されない場合は、Cloud Spanner API が有効になっていません。

  3. 変更する割り当てを選択します。

  4. [割り当てを編集] をクリックします。

  5. 名前、メールアドレス、電話番号を入力して、[次へ] をクリックします。

  6. 割り当てリクエストを入力して、[リクエストを送信] をクリックします。

リクエストの送信後、48 時間以内に Cloud Spanner チームから返答いたします。

インスタンスに関する制限

制限
インスタンス ID の文字数 2~64 文字

データベースに関する上限

上限
インスタンスあたりのデータベース数 100
データベース ID の文字数 2~30 文字
ノードあたりのストレージ サイズ 2 TB1

スキーマに関する上限

DDL ステートメント

上限
単一のスキーマ変更に関する DDL ステートメントのサイズ 10 MB
GetDatabaseDdl によって返される、データベースのスキーマ全体に関する DDL ステートメントのサイズ 10 MB

テーブル

上限
データベースあたりのテーブル数 2,048
テーブル名の文字数 1~128 文字
テーブルあたりの列数 1,024
列名の文字数 1~128 文字
1 列あたりのデータのサイズ 10 MB
テーブルキーの列数

16

親テーブルと共有されているキー列を含む

テーブルのインターリーブ深度

6

子テーブルを持つトップレベル テーブルの深度は 1 です。

孫テーブルを持つトップレベル テーブルの深度は 2 となり、以降同様に深度が増えていきます。

テーブルまたはインデックス キーの合計サイズ

8 KB

キーを構成するすべての列のサイズを含む

インデックス

上限
データベースあたりのインデックス数 4,096
テーブルあたりのインデックス数 32
インデックス名の文字数 1~128 文字
インデックス キーの列数

16

ベーステーブルのインデックスが作成された列(STORING 列を除く)の数と主キー列の数の合計

クエリに関する上限

上限
GROUP BY 句の列 1,000
関数の呼び出し 1,000
結合 15
ネストされた関数の呼び出し 75
ネストされた GROUP BY 35
ネストされたサブクエリ式 25
ネストされたサブセレクト文 60
パラメータ 950
クエリ文の文字数 100 万文字
STRUCT フィールド 1,000
サブクエリ式の子 40
クエリ内のユニオン 200

データの作成、読み取り、更新、削除に関する上限

上限
commit サイズ(インデックスを含む) 100 MB
セッションあたりの同時読み取り数 100
commit あたりのミューテーション(インデックスを含む)2 20,000
データベースあたりのパーティション化 DML の同時実行ステートメント数 20,000

管理操作に関する上限

上限
管理操作のリクエスト サイズ3 1 MB
管理操作の頻度

1 プロジェクトあたり 5 回/秒

(100 秒間の平均)

リクエストに関する上限

上限
commit 以外のリクエスト サイズ4 10 MB

1. Cloud Spanner でデータベースへのアクセスの可用性を高め、レイテンシを低く抑えるには、データベース内のデータ 2 TB あたり 1 台のノードが必要となります。たとえば、3.5 TB のデータを格納する 1 つのデータベースがインスタンスにある場合は、2 つ以上のノードをプロビジョニングする必要があります。このようなノードでは、データベースのサイズが 4 TB になるまではインスタンスを上限以下に維持できます。データベースがこのサイズを超過する場合、別のノードを追加してデータベースの増大に対応する必要があります。増大しないと、データベースへの書き込みでエラーが発生します。データベースをスムーズに拡張していくには、このサイズ上限に達する前にノードを追加するようにしてください。

2. 挿入と更新のオペレーション回数は、そのオペレーションの影響を受ける列数を単位としてカウントします。たとえばキー列 1 つ、非キー列 4 つに値を挿入する場合、その挿入のミューテーションの合計は 5 つとカウントされます。また、削除や範囲指定削除のオペレーションは、影響を受ける列の数に関係なく 1 つのミューテーションとしてカウントされます。

3. 管理操作のリクエストに関する上限には、commit、注 4 に記載されたリクエスト、およびスキーマの変更は含まれません。

4. この上限が適用されるオペレーションには、データベースの作成、データベースの更新、読み取り、ストリーミング読み取り、SQL クエリの実行、ストリーミング SQL クエリの実行のリクエストなどがあります。