Catch up on everthing we announced at this year's Firebase Summit. Learn more

Расчет размера хранилища

На этой странице описывается размер хранилища документов, имен документов, полей и записей индекса в Cloud Firestore.

Вы можете узнать о стоимости этого хранения в облаке Firestore цены .

Размер строки

Размеры строк вычисляются как количество UTF-8 закодированных байт + 1.

Следующие данные хранятся в виде строк:

  • ID коллекций
  • Строковые идентификаторы документов
  • Имена документов
  • Имена полей
  • Значения строкового поля

Например:

  • Идентификационные коллекция tasks использует 5 байт + 1 байт, в общей сложности 6 байт.
  • Имя поля description использует 11 байт + 1 байт, в общей сложности 12 байт.

Размер идентификатора документа

Размер документа ID является либо размер строки для строки ID или 8 байт для целочисленной ID.

Размер имени документа

Размер названия документа складывается из:

  • Размер каждого идентификатора коллекции и идентификатора документа в пути к документу.
  • 16 дополнительных байтов

Для документа в субколлекций users/jeff/tasks со строкой документа идентификатор my_task_id , размер имя документа составляет 6 + 5 + 6 + 11 + 16 = 44 байта:

  • 6 байт для users коллекции ID
  • 5 байт для jeff идентификатор документа
  • 6 байтов для tasks сбора ID
  • 11 байт для my_task_id идентификатор документа
  • 16 дополнительных байтов

Размер значения поля

В следующей таблице показан размер значений полей по типам.

Тип Размер
Множество Сумма размеров его значений
Логический 1 байт
Байты Длина байта
Дата и время 8 байт
Число с плавающей запятой 8 байт
Географическая точка 16 байт
Целое число 8 байт
карта Размер карты, рассчитывается так же, как размер документа
Нулевой 1 байт
Ссылка Размер Название документа
Текстовая строка Количество байтов в кодировке UTF-8 + 1

Например, логическое поле имени done будет использовать 6 байт:

  • 5 байт для done имени поля
  • 1 байт для логического значения

Размер документа

Размер документа складывается из:

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

Размер записи индекса

Размеры записей индекса рассчитываются следующим образом для индексов с одним полем и составных индексов.

Размер записи индекса с одним полем

Размер записи индекса с одним полем зависит от того, относится ли индекс к коллекции или группе коллекций.

Объем коллекции

Размер записи в индексе с одним полем с областью сбора является суммой:

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

Объем группы коллекций

Размер записи в индексе с одним полем с областью действия группы сбора является суммой:

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

Размер записи составного индекса

Размер записи в составном индексе зависит от того, относится ли индекс к коллекции или группе коллекций.

Объем коллекции

Размер записи индекса в составном индексе с областью сбора является суммой:

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

Объем группы коллекций

Размер записи индекса в составном индексе с областью действия группы сбора является суммой:

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

Что дальше

Подробнее о Cloud Firestore ценообразовании .