Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

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

Оптимизируйте свои подборки Сохраняйте и классифицируйте контент в соответствии со своими настройками.

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

Вы можете узнать о стоимости этого хранилища в Cloud Firestore Pricing .

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

Размеры строк рассчитываются как количество байтов в кодировке 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

Например, логическое поле с именем 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 дополнительных байта

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

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

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

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

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

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

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

Что дальше

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