MongoDB 互換の Firestore Enterprise エディションが利用可能になりました。
詳細
ストレージ サイズ
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
Cloud Firestore Enterprise エディションにのみ関連します。
|
このページでは、MongoDB 互換の Cloud Firestore のドキュメント、フィールド、インデックス エントリのストレージ サイズについて説明します。
このストレージの費用については、料金ページをご覧ください。
文字列のサイズ
文字列のサイズは、UTF-8 でエンコードされたバイト数 + 1 の値として計算されます。
以下は、文字列として保存されます。
- コレクション名
- フィールド名
- 文字列フィールドの値(
_id
を含む)
例:
- コレクション名
tasks
には、5 バイト + 1 バイト、合計 6 バイトが使用されます。
- フィールド名
description
には 11 バイト + 1 バイト、合計 12 バイトが使用されます。
フィールド値のサイズ
次の表に、フィールド値のサイズを型別に示します。
型 |
サイズ |
配列 |
各値のサイズの合計 |
Boolean |
1 バイト |
バイナリデータ |
非ジェネリック(0 以外)のサブタイプの場合はバイト長 + 1 |
日付 |
8 バイト |
Double |
8 バイト |
Double128 |
16 バイト |
32 ビット整数 |
4 バイト |
64 ビット整数(long) |
8 バイト |
オブジェクト |
各フィールド名の文字列サイズと、埋め込みオブジェクト内の各フィールド値のサイズの合計 |
Min Key |
1 バイト |
Max Key |
1 バイト |
Null |
1 バイト |
正規表現 |
(パターンの長さ + 1)+(オプションの長さ + 1) |
タイムスタンプ |
8 バイト |
文字列 |
UTF-8 でエンコードされたバイト数 + 1 |
たとえば、done
という名前のブール値フィールドは 6 バイトを使用します。
done
フィールド名に 5 バイト
- ブール値に 1 バイト
ドキュメントのサイズ
ドキュメントのサイズは以下の合計値となります。
次に、コレクション tasks
内のドキュメントの例を示します。
{
"_id": "my_task_id",
"type": "Personal",
"done": false,
"priority": 1,
"description": "Learn Cloud Firestore"
}
フィールドの合計サイズは 78 バイトです。
フィールド名と値 |
フィールドのサイズ(バイト) |
"_id": "my_task_id" |
フィールドの文字列値 11 |
"type": "Personal" |
14 フィールド名 5 + フィールドの文字列値 9 |
"done": false |
6 フィールド名 5 + フィールドのブール値 1 |
"priority": 1 |
17 フィールド名 9 + フィールドの 32 ビット整数値 4 |
"description": "Learn Cloud Firestore" |
34 フィールド名 12 + フィールドの文字列値 22 |
この結果、ドキュメントのサイズは 6 + 78 + 48 = 132 バイトとなります。
- コレクション名に 6
- フィールドに 71 バイト
- 追加の 48 バイト
インデックス エントリのサイズ
インデックス内のインデックス エントリのサイズは、以下の合計値となります。
tasks
コレクション内のドキュメントについて考えてみましょう。
{
"_id": "my_task_id",
"type": "Personal",
"done": false,
"priority": 1,
"description": "Learn Cloud Firestore"
}
done
フィールドと priority
フィールド(どちらも昇順)のインデックスの場合、このインデックスのインデックス エントリの合計サイズは 70 バイトになります。
- コレクション名
tasks
に 6 バイト
_id
フィールド値に 11 バイト
- ブール値フィールドの値に 1 バイト
- 32 ビット整数フィールド値に 4 バイト
- 追加の 48 バイト
スパース インデックスの場合、ドキュメントにフィールドが含まれていないと、インデックス エントリは作成されません。ドキュメントにインデックス付きフィールドが 1 つ以上含まれている場合、存在しないインデックス付きフィールドが NULL
に設定されたインデックス エントリが作成されます。
次のステップ
料金の詳細について学ぶ。
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-08-29 UTC。
[null,null,["最終更新日 2025-08-29 UTC。"],[],[],null,["\u003cbr /\u003e\n\n\n|--------------------------------------------------------|\n| *Relevant to Cloud Firestore Enterprise edition only.* |\n\n\u003cbr /\u003e\n\nThis page describes the storage size of documents, fields, and\nindex entries in Cloud Firestore with MongoDB compatibility.\n\nYou can learn about the costs of this storage at the [Pricing](https://firebase.google.com/pricing) page.\n\nString size\n\nString sizes are calculated as the number of [UTF-8 encoded](https://en.wikipedia.org/wiki/UTF-8) bytes + 1.\n\nThe following are stored as strings:\n\n- Collection name\n- Field names\n- String field values (including `_id`)\n\nFor example:\n\n- The collection name `tasks` uses 5 bytes + 1 byte, for a total of 6 bytes.\n- The field name `description` uses 11 bytes + 1 byte, for a total of 12 bytes.\n\nField value size\n\nThe following table shows the size of field values by type.\n\n| Type | Size |\n|-----------------------|---------------------------------------------------------------------------------------------------------|\n| Array | The sum of the sizes of its values |\n| Boolean | 1 byte |\n| Binary data | Byte length + 1 for a non-generic (non-0) subtype |\n| Date | 8 bytes |\n| Double | 8 bytes |\n| Double128 | 16 bytes |\n| 32-bit integer | 4 bytes |\n| 64-bit integer (long) | 8 bytes |\n| Object | The sum of the string sizes of each field name and the sizes of each field falue in the embedded object |\n| Min Key | 1 byte |\n| Max Key | 1 byte |\n| Null | 1 byte |\n| Regular expression | (Pattern length + 1) + (Options length + 1) |\n| Timestamp | 8 bytes |\n| String | Number of UTF-8 encoded bytes + 1 |\n\nFor example, a boolean field named `done` would use 6 bytes:\n\n- 5 bytes for the `done` field name\n- 1 byte for the boolean value\n\nDocument size\n\nThe size of a document is the sum of:\n\n- The [string size](#string-size) of the collection name\n- The sum of the [string size](#string-size) of each field name (except `_id`)\n- The sum of the size of each [field value](#field-size) (including `_id`)\n- 48 additional bytes\n\nThis example is for a document in collection `tasks`: \n\n {\n \"_id\": \"my_task_id\",\n \"type\": \"Personal\",\n \"done\": false,\n \"priority\": 1,\n \"description\": \"Learn Cloud Firestore\"\n }\n\nThe total size of the fields is 78 bytes:\n\n| Field name and value | Field size in bytes |\n|------------------------------------------|------------------------------------------------------------------|\n| `\"_id\": \"my_task_id\"` | 11 for the field's string value |\n| `\"type\": \"Personal\"` | 14 5 for the field name + 9 for the field's string value |\n| `\"done\": false` | 6 5 for the field name + 1 for the field's boolean value |\n| `\"priority\": 1` | 17 9 for the field name + 4 for the field's 32-bit integer value |\n| `\"description\": \"Learn Cloud Firestore\"` | 34 12 for the field name + 22 for the field's string value |\n\nSo the document size is 6 + 78 + 48 = 132 bytes:\n\n- 6 for the collection name\n- 78 bytes for the fields\n- 48 additional bytes\n\nIndex entry size\n\nThe size of an index entry in an index is the sum of:\n\n- The [string size](#string-size) of the collection name\n- The size of the `_id` field value\n- The sum of the indexed [field values](#field-size)\n- 48 additional bytes\n\nConsider a document in the `tasks` collection: \n\n {\n \"_id\": \"my_task_id\",\n \"type\": \"Personal\",\n \"done\": false,\n \"priority\": 1,\n \"description\": \"Learn Cloud Firestore\"\n }\n\nFor an index on the `done` and\n`priority` fields (both ascending), the total size of the index entry in this\nindex is 70 bytes:\n\n- 6 bytes for the collection name `tasks`\n- 11 bytes for the `_id` field value\n- 1 byte for the boolean field value\n- 4 bytes for the 32-bit integer field value\n- 48 additional bytes\n\nFor sparse indexes, if a document doesn't include any of the fields,\nthen no index entry is created. If a document contains at least one of the\nindexed fields, an index entry is created with absent indexed fields\nset to `NULL`.\n\nWhat's next\n\nLearn about [pricing](https://firebase.google.com/pricing)."]]