Google Cloud Datastore имеет некоторые ограничения по использованию, например, Datastore может обрабатывать множество операций, но вам нужно следовать правилу 500/50/5
, как указано в документе о лучших практиках Datastore .
Это правило гласит:
Мы рекомендуем максимум 500 операций в секунду для нового типа, а затем увеличиваем трафик c на 50% каждые 5 минут. Теоретически вы можете увеличить количество операций до 740 тыс. Операций в секунду за 90 минут, используя этот график увеличения. Убедитесь, что записи распределяются относительно равномерно по всему диапазону ключей.
Также упоминается документ о передовых методах:
Если вы обновляете объект слишком быстро, ваш режим хранилища данных пишет будут иметь большую задержку, таймауты и другие типы ошибок. Это известно как конфликт.
По моему опыту, эффект contention
возникает, когда объект изменяется более одного раза в секунду, я рекомендую изменять один и тот же объект один раз в секунду (напишите операция)
Если следовать этим правилам, чтение и запись одновременно не будет проблемой для производительности.
Что касается согласованности данных, имейте в виду, что операции чтения и записи запускаются одновременно войдет в состояние гонки, что может привести к неожиданным результатам.
Как упоминается в документе транзакций , вы можете использовать их для задержки второй транзакции, избегая состояния гонки из-за транзакции функция блокировки
В этом документе приведены некоторые примеры кода, касающиеся согласованности данных при использовании транзакций.