Пожарные магазины 10 000 записей / второе ограничение - PullRequest
0 голосов
/ 26 января 2020

Я сейчас создаю приложение, используя firestore. Google всегда продвигает firestore за его масштабируемость, но я не думаю, что ограничение 10 000 операций записи в секунду соответствует этому обещанию. Я полагаю, что если вы храните лайки пользователей, уведомления и то, что не хранится в firestore, вы можете легко превысить это ограничение. Есть ли что-то, что мне не хватает? Это ограничение распространяется только на новые документы или также на обновления документов?

Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 27 января 2020

Я не знаком с предложениями GCP, но мой опыт работы с другими облаками говорит о том, что вы можете делать следующие вещи:

  1. Убедитесь, что вы выбрали правильную базу данных. Из описаний видно, что вам нужна база данных No SQL с автоматическим разделением и возможной согласованностью.
  2. В документации указано «стандартные ограничения», что означает, что вы можете обратиться в службу технической поддержки, которая может расширить пределы. По крайней мере, так работает Azure.
  3. Поставщики облачных услуг предоставляют консультации, чтобы убедиться, что их клиенты успешно используют технологии. У вас есть такой канал? Вы говорили с вашим техническим директором?
  4. Если сервисы GCP не отвечают вашим требованиям, вы можете посмотреть на другие механизмы баз данных, которые вы можете разместить в облаке с помощью GKE. Стоимость начальной настройки и операций выше, но окупается в долгосрочной перспективе. Например, я пошел с этой идеей и провел ElasticSearch в Azure, который оказался лучшим решением по сравнению с доступными альтернативами.

Эти советы могут не совсем точно ответить на ваш вопрос, но я надеюсь, что обмен Мой опыт может помочь в поиске решения wholisti c.

0 голосов
/ 27 января 2020

Firestore создан для масштабируемых операций read . В частности, его главная претензия на известность заключается в том, что выполнение запроса специфицированного c займет фиксированное количество времени, независимо от того, сколько данных находится в коллекции, которую вы запрашиваете. Таким образом, если вы читаете 10 документов из коллекции, содержащей 10 000 документов, и это занимает (скажем) 1 секунду, вы гарантированно, что то же самое чтение (при тех же условиях клиента) займет 1 секунду, когда есть 10 миллионов документов или 10 миллиардов в этой коллекции.

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

Если вам нужна более высокая пропускная способность записи и вы хотите принять другие гарантии производительности, вы можете искать другую базу данных, которая удовлетворяет этим потребностям.

...