このページでは、Cloud Firestore のドキュメント、ドキュメント名、フィールド、インデックス エントリのストレージ サイズについて説明します。
このストレージのコストについては、 Cloud Firestore の料金で確認できます。文字列サイズ
文字列のサイズは、 UTF-8 でエンコードされたバイト数 + 1 として計算されます。
以下は文字列として格納されます。
- コレクション ID
- 文字列ドキュメント ID
- ドキュメント名
- フィールド名
- 文字列フィールド値
例えば:
- コレクション ID
tasks
は、5 バイト + 1 バイトの合計 6 バイトを使用します。 - フィールド名の
description
は、11 バイト + 1 バイトの合計 12 バイトを使用します。
ドキュメント ID サイズ
ドキュメント ID のサイズは、文字列 ID の場合は文字列サイズ、整数 ID の場合は 8 バイトです。
ドキュメント名サイズ
ドキュメント名のサイズは、次の合計です。
- ドキュメントへのパス内の各コレクション ID とドキュメント ID のサイズ
- 追加の 16 バイト
my_task_id の文字列ドキュメント ID を持つサブコレクションusers/jeff/tasks
my_task_id
のドキュメントの場合、ドキュメント名のサイズは 6 + 5 + 6 + 11 + 16 = 44 バイトです。
-
users
コレクション ID の 6 バイト jeff
ドキュメント ID の場合は 5 バイトtasks
コレクション ID の 6 バイトmy_task_id
ドキュメント ID の場合は 11 バイト- 追加の 16 バイト
フィールド値のサイズ
次の表は、フィールド値のサイズをタイプ別に示しています。
タイプ | サイズ |
---|---|
配列 | その値のサイズの合計 |
ブール値 | 1バイト |
バイト | バイト長 |
日時 | 8バイト |
浮動小数点数 | 8バイト |
地理的ポイント | 16バイト |
整数 | 8バイト |
地図 | ドキュメント サイズと同じ方法で計算されたマップのサイズ |
ヌル | 1バイト |
参照 | ドキュメント名サイズ |
テキスト文字列 | UTF-8 でエンコードされたバイト数 + 1 |
たとえば、 done
という名前のブール フィールドは 6 バイトを使用します。
-
done
フィールド名の 5 バイト - ブール値の 1 バイト
原稿サイズ
ドキュメントのサイズは、次の合計です。
- ドキュメント名サイズ
- 各フィールド名の文字列サイズの合計
- 各フィールド値のサイズの合計
- 追加の 32 バイト
この例は、サブコレクションusers/jeff/tasks
内のドキュメントで、文字列ドキュメント ID がmy_task_id
の場合です:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
フィールドの合計サイズは 71 バイトです。
フィールド名と値 | フィールド サイズ (バイト単位) |
---|---|
"type": "Personal" | 14 フィールド名の 5 + フィールドの文字列値の 9 |
"done": false | 6 フィールド名の 5 + フィールドのブール値の 1 |
"priority": 1 | 17 フィールド名の 9 + フィールドの整数値の 8 |
"description": "Learn Cloud Firestore" | 34 フィールド名の 12 + フィールドの文字列値の 22 |
したがって、ドキュメントのサイズは 44 + 71 + 32 = 147 バイトです。
- ドキュメント名の 44 バイト
- フィールド用に 71 バイト
- 追加の 32 バイト
インデックス エントリのサイズ
単一フィールド インデックスと複合インデックスの場合、インデックス エントリのサイズは次のように計算されます。
単一フィールド インデックス エントリのサイズ
単一フィールド インデックス エントリのサイズは、インデックスのスコープがコレクションまたはコレクション グループのどちらであるかによって異なります。
コレクションの範囲
コレクション スコープを持つ単一フィールド インデックスのエントリのサイズは、次の合計です。
- 索引付けされたドキュメントのドキュメント名のサイズ
- 索引付けされたドキュメントの親ドキュメントのドキュメント名のサイズ
- インデックス付きフィールド名の文字列サイズ
- インデックス付きフィールド値のサイズ
- 追加の 32 バイト
my_task_id の文字列ドキュメント ID を持つサブコレクションusers/jeff/tasks
my_task_id
のドキュメントを考えてみましょう:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
done
フィールドにインデックスを付けるコレクション スコープを持つ単一フィールド インデックスの場合、このインデックスのエントリの合計サイズは 109 バイトです。
- ドキュメント名
users/jeff/tasks/my_task_id
の場合は 44 バイト - 親ドキュメントのドキュメント名
users/jeff
に 27 バイト done
フィールド名の 5 バイト- ブール フィールド値の 1 バイト
- 追加の 32 バイト
コレクション グループのスコープ
コレクション グループ スコープの単一フィールド インデックスのエントリのサイズは、次の合計です。
- 索引付けされたドキュメントのドキュメント名のサイズ
- インデックス付きフィールド名の文字列サイズ
- インデックス付きフィールド値のサイズ
- 追加の 48 バイト
my_task_id の文字列ドキュメント ID を持つサブコレクションusers/jeff/tasks
my_task_id
のドキュメントを考えてみましょう:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
done
フィールドにインデックスを付けるコレクション グループ スコープを持つ単一フィールド インデックスの場合、このインデックス内のエントリの合計サイズは 98 バイトです。
- ドキュメント名
users/jeff/tasks/my_task_id
の場合は 44 バイト done
フィールド名の 5 バイト- ブール フィールド値の 1 バイト
- 追加の 48 バイト
複合インデックス エントリ サイズ
複合インデックス内のエントリのサイズは、インデックスのスコープがコレクションまたはコレクション グループのどちらであるかによって異なります。
コレクションの範囲
コレクション スコープを持つ複合インデックスのインデックス エントリのサイズは、次の合計です。
- 索引付けされたドキュメントのドキュメント名のサイズ
- 索引付けされたドキュメントの親ドキュメントのドキュメント名のサイズ
- インデックス付きフィールド値の合計
- 追加の 32 バイト
my_task_id の文字列ドキュメント ID を持つサブコレクションusers/jeff/tasks
my_task_id
のドキュメントを考えてみましょう:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
done
フィールドとpriority
フィールド (両方とも昇順) にインデックスを付けるコレクション スコープを持つ複合インデックスの場合、このインデックス内のエントリの合計サイズは 112 バイトです。
- ドキュメント名
users/jeff/tasks/my_task_id
の場合は 44 バイト - 親ドキュメントのドキュメント名
users/jeff
に 27 バイト - ブール フィールド値の 1 バイト
- 整数フィールド値の 8 バイト
- 追加の 32 バイト
コレクション グループのスコープ
コレクション グループ スコープを持つ複合インデックスのインデックス エントリのサイズは、次の合計です。
- 索引付けされたドキュメントのドキュメント名のサイズ
- インデックス付きフィールド値の合計
- 追加の 32 バイト
my_task_id の文字列ドキュメント ID を持つサブコレクションusers/jeff/tasks
my_task_id
のドキュメントを考えてみましょう:
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
done
フィールドとpriority
フィールド (両方とも昇順) にインデックスを付けるコレクション グループ スコープを持つ複合インデックスの場合、このインデックスのインデックス エントリの合計サイズは 85 バイトです。
- ドキュメント名
users/jeff/tasks/my_task_id
の場合は 44 バイト - ブール フィールド値の 1 バイト
- 整数フィールド値の 8 バイト
- 追加の 32 バイト