Размер хранилища

Относится только к версии Cloud Firestore Enterprise.

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

Стоимость данного хранилища вы можете узнать на странице «Цены» .

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

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

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

  • Название коллекции
  • Имена полей
  • Значения строковых полей (включая _id )

Например:

  • tasks имени коллекции используют 5 байтов + 1 байт, всего 6 байтов.
  • description имени поля использует 11 байтов + 1 байт, всего 12 байтов.

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

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

Тип Размер
Множество Сумма размеров его значений
Булевое значение 1 байт
Двоичные данные Длина байта + 1 для неуниверсального (не 0) подтипа
Дата 8 байт
Двойной 8 байт
Двойной128 16 байт
32-битное целое число 4 байта
64-битное целое число (длинное) 8 байт
Объект Сумма размеров строк каждого имени поля и размеров каждого поля во встроенном объекте
Мин Ключ 1 байт
Макс Кей 1 байт
Нулевой 1 байт
Регулярное выражение (Длина узора + 1) + (Длина вариантов + 1)
Метка времени 8 байт
Нить Количество байтов в кодировке UTF-8 + 1

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

  • 5 байт для имени поля done
  • 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 для имени поля + 4 для 32-битного целого значения поля
"description": "Learn Cloud Firestore" 34
12 для имени поля + 22 для строкового значения поля

Итак, размер документа составляет 6 + 78 + 48 = 132 байта:

  • 6 для названия коллекции
  • 78 байт для полей
  • 48 дополнительных байтов

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

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

Рассмотрим документ в коллекции tasks :

{
  "_id": "my_task_id",
  "type": "Personal",
  "done": false,
  "priority": 1,
  "description": "Learn Cloud Firestore"
}

Для индекса по полям done и priority » (оба по возрастанию) общий размер записи индекса в этом индексе составляет 70 байт:

  • 6 байт для tasks имени коллекции
  • 11 байт для значения поля _id
  • 1 байт для значения логического поля
  • 4 байта для 32-битного целочисленного значения поля
  • 48 дополнительных байтов

В случае разреженных индексов, если документ не содержит ни одного из индексируемых полей, запись индекса не создаётся. Если документ содержит хотя бы одно из индексируемых полей, создаётся запись индекса, в которой отсутствующие индексируемые поля устанавливаются в NULL .

Что дальше?

Узнайте о ценах .