Firestore создан для масштабируемых операций read . В частности, его главная претензия на известность заключается в том, что выполнение запроса специфицированного c займет фиксированное количество времени, независимо от того, сколько данных находится в коллекции, которую вы запрашиваете. Таким образом, если вы читаете 10 документов из коллекции, содержащей 10 000 документов, и это занимает (скажем) 1 секунду, вы гарантированно, что то же самое чтение (при тех же условиях клиента) займет 1 секунду, когда есть 10 миллионов документов или 10 миллиардов в этой коллекции.
Пропускная способность write для Cloud Firestore в основном определяется физическими ограничениями. Документы 10K / se c едины, но вы, скорее всего, столкнетесь с ограничением возможности писать в каждый документ примерно один раз в секунду. Причина этих ограничений лежит в других гарантиях Firestore. Например: Firestore гарантирует немедленную согласованность ваших операций записи; так что после завершения операции записи ни один клиент не получит более старые данные с сервера. Для этого необходимо обновить все индексы для данных в нескольких центрах обработки данных перед подтверждением записи, что просто занимает определенное время, что, в свою очередь, приводит к ограничениям на пропускную способность записи. Точно так же существуют другие ограничения, вытекающие из этого выбора.
Если вам нужна более высокая пропускная способность записи и вы хотите принять другие гарантии производительности, вы можете искать другую базу данных, которая удовлетворяет этим потребностям.