Хранилище данных записывает в ту же группу сущностей из потока данных

Я пишу в Datastore из Dataflow, pcollection имеет несколько объектов одной и той же группы объектов, которые должны быть записаны в хранилище данных. Будет ли запись их в хранилище данных медленной из-за ограничений записи / обновления одного и того же объекта? Можно ли как-то делать транзакции из потока данных? И если да, будет ли написание одной и той же группы сущностей в одной транзакции быстрее?

1 ответ

Да, вам нужно соблюдать максимальное среднее значение 1 запись / сек на группу объектов. Он не применяется на уровне API, это обязанность вашего приложения, если вы превысите его (в течение продолжительных периодов времени, в зависимости от пиковой скорости записи), вы просто получите ошибки.

Я не знаком с потоком данных, поэтому не могу сказать, можете ли вы выполнять транзакции, но даже если вы можете, они не помогут в этом вопросе: вам все равно нужно соблюдать максимальную скорость записи для группы объектов. Кроме того, транзакции обычно медленнее из-за дополнительной работы, которую они выполняют, и повторных попыток, выполняемых при столкновениях. Если они вам не нужны (для предотвращения коллизий и / или для согласованности), было бы быстрее без них.

Но имейте в виду, что запись может содержать до 500 объектов, см. Обновление в этом разделе вопросов и ответов, касающееся конкретно случая транзакции: хранилище данных: множественные записи в группе объектов внутри транзакции превышают лимит записи?,