В Firestore всегда было мягкое ограничение в 1 запись в секунду для одного документа. Это означало, что для таких вещей, как счетчик, который обновляется чаще, чем раз в секунду, рекомендуемым решением были сегментированные счетчики.
Глядя на документацию по ограничениям Firestore, кажется, что это ограничение исчезло. В презентации на саммите Firebase упоминалось, что Firestore стал более масштабируемым, но упоминалось только об удалении жестких ограничений.
Может ли кто-нибудь подтвердить, действительно ли это ограничение было снято, и мы можем удалить все наши сегментированные счетчики в пользу записи в один count
документ десятки или сотни раз в секунду?
поджигатель здесь
Это действительно было удалено из документации. Это всегда было мягкое ограничение, которое не применялось в коде, а вместо этого оценивало физическое ограничение того, сколько времени требуется для синхронизации изменений в индексах и нескольких центрах обработки данных.
Мы значительно улучшили инфраструктуру, используемую для этих операций записи, и теперь предоставляем такие инструменты, как ключевой визуализатор, чтобы лучше анализировать производительность и искать горячие точки в поведении чтения и записи вашего приложения. Несмотря на то, что некоторые физические ограничения все еще существуют, мы рекомендуем использовать эти инструменты, а не полагаться на одно задокументированное значение для анализа производительности базы данных вашего приложения.
В большинстве случаев я бы рекомендовал использовать новый оператор COUNT(). Но если вы хотите продолжать использовать счетчики агрегации во время записи, по-прежнему рекомендуется использовать сегментированный счетчик для операций подсчета больших объемов, мы просто перестали указывать точное число, когда его использовать.
Соответствующий веб-архив рассматриваемой страницы: Использование и ограничения - Firestore