Cloud Firestore - записать ограничение скорости индексации на составные индексы - PullRequest
0 голосов
/ 30 сентября 2019

В облачном хранилище файлов Документация «Использование и лимиты» установленный предел скорости записи документов в одну коллекцию (с учетом последовательной индексации) гласит:

Максимальная записьОцените коллекцию, в которой документы содержат последовательные значения в индексированном поле: 500 в секунду

Я понимаю, что это ограничение связано с «горячей точкой» при создании последовательных индексов.

Мой вопрос таков: если я отключу индексирование по всем последовательным полям в коллекции (например, timestamp) и использую только составные индексы (например, [user_id, timestamp]), будет ли ограничение по-прежнему применяться к полю timestampпо всей коллекции или только в пределах определенного user_id?

1 Ответ

3 голосов
/ 01 октября 2019

Похоже, что это решение будет обеспечивать смягчение ограничения скорости для одной коллекции, как упоминалось здесь официальным персоналом Firebase, и с примером решения , предоставленного длявременные метки шардинга .

Суть решения сводится к тому, что индексируемые последовательные значения разбросаны по нескольким сегментам базы данных. Это связано с тем, что близкие соседние последовательные значения приводят кластер к одной машине с внутренней базой данных, что приводит к возникновению дросселирования, когда слишком много записей происходит за короткий промежуток времени на одной машине.

Наличие префикса перед индексацией на последовательной машинеЗначение (которое может быть достигнуто с помощью составного индекса) гарантирует, что эти индексы распределены по внутренним машинам (учитывая, что дисперсия представлена ​​в первой части составного индекса). Ограничение скорости может быть затем определено с помощью записей в заданном префиксе составного индекса, а не глобально в коллекции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...