На этой странице описывается размер хранилища документов, имена документов, поля и записи индекса в 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 дополнительных байта