На этой странице описывается размер хранилища документов, названия документов, поля и записи индекса в Cloud Firestore .
Стоимость данного хранилища можно узнать на странице «Цены на Cloud Firestore .Размер строки
Размеры строк рассчитываются как количество байтов в кодировке UTF-8 + 1.
Следующие данные хранятся в виде строк:
- Идентификаторы коллекций
 - Идентификаторы строковых документов
 - Названия документов
 - Имена полей
 - Значения строковых полей
 
Например:
-  
tasksидентификации коллекции используют 5 байтов + 1 байт, всего 6 байтов. -  
descriptionимени поля использует 11 байтов + 1 байт, всего 12 байтов. 
Размер идентификатора документа
Размер идентификатора документа равен либо размеру строки для строкового идентификатора, либо 8 байтам для целочисленного идентификатора.
Размер названия документа
Размер имени документа представляет собой сумму:
- Размер каждого идентификатора коллекции и идентификатора документа в пути к документу
 - 16 дополнительных байтов
 
 Для документа в подколлекции users/jeff/tasks со строковым идентификатором документа my_task_id размер имени документа составляет 6 + 5 + 6 + 11 + 16 = 44 байта:
-  6 байт для идентификатора коллекции 
users -  5 байт для идентификатора документа 
jeff -  6 байт для идентификатора коллекции 
tasks -  11 байт для идентификатора документа 
my_task_id - 16 дополнительных байтов
 
Размер значения поля
В следующей таблице показаны размеры значений полей по типу.
| Тип | Размер | 
|---|---|
| Множество | Сумма размеров его значений | 
| Булевое значение | 1 байт | 
| Байты | Длина байта | 
| Дата и время | 8 байт | 
| Число с плавающей точкой | 8 байт | 
| Географическая точка | 16 байт | 
| Целое число | 8 байт | 
| Карта | Размер карты, рассчитываемый так же, как размер документа. | 
| Нулевой | 1 байт | 
| Ссылка | Размер имени документа | 
| Текстовая строка | Количество байтов в кодировке UTF-8 + 1 | 
| Вектор | 8 байт на измерение | 
 Например, логическое поле с именем done будет использовать 6 байтов:
-  5 байт для имени поля 
done - 1 байт для логического значения
 
Размер документа
Размер документа представляет собой сумму:
- Размер имени документа
 - Сумма размеров строк каждого имени поля
 - Сумма размеров каждого значения поля
 - 32 дополнительных байта
 
 Этот пример относится к документу в подколлекции users/jeff/tasks со строковым идентификатором документа 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 дополнительных байта
 
 Рассмотрим документ в подколлекции users/jeff/tasks со строковым идентификатором документа my_task_id :
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
 Для индекса с одним полем и областью действия коллекции, который индексирует поле done , общий размер записи в этом индексе составляет 109 байт:
-  44 байта для имени документа 
users/jeff/tasks/my_task_id -  27 байт для имени родительского документа 
users/jeff -  5 байт для имени поля 
done - 1 байт для значения логического поля
 - 32 дополнительных байта
 
Область действия группы сбора
Размер записи в индексе с одним полем и областью действия группы коллекций представляет собой сумму:
- Имя документа, размер индексируемого документа
 - Размер строки имени индексированного поля
 - Размер индексированного значения поля
 - 48 дополнительных байтов
 
 Рассмотрим документ в подколлекции users/jeff/tasks со строковым идентификатором документа my_task_id :
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
 Для индекса с одним полем и областью действия группы коллекций, который индексирует поле done , общий размер записи в этом индексе составляет 98 байт:
-  44 байта для имени документа 
users/jeff/tasks/my_task_id -  5 байт для имени поля 
done - 1 байт для значения логического поля
 - 48 дополнительных байтов
 
Размер записи составного индекса
Размер записи в составном индексе зависит от того, относится ли индекс к коллекции или группе коллекций.
Объем коллекции
Размер записи индекса в составном индексе с областью действия коллекции представляет собой сумму:
- Имя документа, размер индексируемого документа
 - Размер имени документа родительского документа индексируемого документа
 - Сумма значений индексированных полей
 - 32 дополнительных байта
 
 Рассмотрим документ в подколлекции users/jeff/tasks со строковым идентификатором документа my_task_id :
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
 Для составного индекса с областью действия коллекции, который индексирует поля done и priority (оба по возрастанию), общий размер записи в этом индексе составляет 112 байт:
-  44 байта для имени документа 
users/jeff/tasks/my_task_id -  27 байт для имени родительского документа 
users/jeff - 1 байт для значения логического поля
 - 8 байт для целочисленного значения поля
 - 32 дополнительных байта
 
Область действия группы сбора
Размер записи индекса в составном индексе с областью действия группы коллекций представляет собой сумму:
- Имя документа, размер индексируемого документа
 - Сумма значений индексированных полей
 - 32 дополнительных байта
 
 Рассмотрим документ в подколлекции users/jeff/tasks со строковым идентификатором документа my_task_id :
- "type": "Personal" - "done": false - "priority": 1 - "description": "Learn Cloud Firestore"
 Для составного индекса с областью действия группы коллекций, который индексирует поля done и priority (оба по возрастанию), общий размер записи индекса в этом индексе составляет 85 байт:
-  44 байта для имени документа 
users/jeff/tasks/my_task_id - 1 байт для значения логического поля
 - 8 байт для целочисленного значения поля
 - 32 дополнительных байта