значение высокого уровня в Firestore - PullRequest
0 голосов
/ 21 ноября 2019

Я видел эту документацию (https://cloud.google.com/firestore/docs/best-practices#hotspots) и там написано:

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

Создает новые документы с очень высокой скоростью и выделяет свои собственные монотонно увеличивающиеся идентификаторы.

Cloud Firestore выделяет идентификаторы документовиспользуя алгоритм разброса. Вы не должны сталкиваться с горячей точкой при записи, если вы создаете новые документы с использованием автоматических идентификаторов документов.

Создает новые документы с высокой скоростью в коллекции с несколькими документами.

Создает новыедокументы с монотонно увеличивающимся полем, например, с отметкой времени, с очень высокой скоростью.

Удаляет документы из коллекции с высокой скоростью.

Запись в базу данных с очень высокой скоростью без постепенногоувеличение трафика.

Высокая скоростьне пользователи сразу создают документы? Или речь идет о создании документов с помощью оператора for или while (roop)?

1 Ответ

1 голос
/ 21 ноября 2019

Высокий ли уровень, когда множество пользователей одновременно создают документы? Или речь идет о создании документов с помощью оператора for или while (roop)?

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

В этой статье более подробно рассматриваетсяотметка времени и описание обходного пути: https://cloud.google.com/firestore/docs/solutions/shard-timestamp

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