制限

このページでは、Datastore モードの Firestore での本番環境の制限について説明します。

Datastore モードの Firestore の制限

上限
API リクエストの最大サイズ

この制限は、Datastore モードを Google App Engine の外部で使用した場合に適用されます。Datastore モードを App Engine から使用している場合、制限は使用しているクライアント ライブラリによって異なります。

10 MiB
トランザクションの最大サイズ 10 MiB
エンティティの最大サイズ 1,048,572 バイト
(1 MiB - 4 バイト)
エンティティ キーの最大サイズ 6 KiB
ネストされたエンティティ値の最大深さ 20

エンティティへの最大持続書き込み速度

1 秒あたり 1 回を超える書き込み速度が持続すると、レイテンシが増加し、競合エラーの原因になります。これはハードリミットではなく、短時間のバーストでは上限を超えても構いません。

1 秒あたり 1
Datastore API で Commit オペレーションに渡せるエンティティの最大数 500
Datastore API で AllocateIds オペレーションに対して許可されるキーの最大数 500
Datastore API で Lookup オペレーションに対して許可されるキーの最大数 1,000
インデックス付けされた文字列プロパティの UTF-8 エンコーディングの最大サイズ 1,500 バイト
インデックス付けされていないプロパティの最大サイズ 1,048,487 バイト
(1 MiB - 89 バイト)
エンティティの複合インデックス エントリの最大合計サイズ 2 MiB
プロジェクトの複合インデックスの最大数 200
エンティティの次の要素の最大合計数:
  • インデックス付けされたプロパティ値の数
  • 複合インデックスのエントリ数
20,000
プロジェクトの 1 分間に許可されるエクスポートおよびインポート リクエストの最大合計数 20
同時エクスポートおよびインポートの最大数 50
エクスポートおよびインポート リクエストのエンティティ フィルタの最大数

エクスポートまたはインポート リクエストで entity_filter が指定された場合は、フィルタリング対象の種類と名前空間の各組み合わせが、別々のフィルタとしてこの上限に対しカウントされます。例:

kinds=['foo', 'bar']namespace_ids=['', 'ns1'] を使用したリクエストは、この上限に対し 4 フィルタとしてカウントされます([('', 'foo'), ('', 'bar'), ('ns1', 'foo'), ('ns1', 'bar')])。

100

Datastore の制限

Datastore から Datastore モードの Firestore にまだアップグレードしていない場合、以下の制限もデータベース インスタンスに適用されます。

上限
トランザクションでアクセスできるエンティティ グループの最大数 25
エンティティ グループとの間でのトランザクションの最大読み取り速度と最大書き込み速度 毎秒 1 回
エンティティ グループへの最大書き込み速度

エンティティ グループに対しては一括書き込みを実行できる点に注意してください。これにより、この制限内で複数のエンティティをエンティティ グループに書き込めます。

1 秒あたり 1

次のステップ