1

Я пытаюсь понять, как решать там два ограничения из Google датастореПонимание ограничений группы сущностей

предела записи пропускной способности примерно одна сделки в секунду для одной группы в сущности.

Все данные, к которым осуществляется транзакция, должны содержать не более 25 групп сущностей.

Предположим, я хотел сохранить информацию о пользователях. Из-за 1-го ограничения я не могу сохранить их в группе сущностей, так как несколько пользователей могут обновлять свою информацию одновременно. Теперь, если я попытаюсь сохранить всех пользователей в качестве корневых объектов, второе ограничение говорит, что я не могу использовать какой-либо запрос для пользователей (например, найти пользователя с возрастом> 10). Теперь мне интересно, как datastore можно использовать с такими ограничениями.

ответ

2

Вы неверно истолковываете второе ограничение: вы можете, конечно, запросить всех пользователей для тех, чей возраст> 10, вы не должны делать это внутри транзакции.

Если консистенция важно вы можете:

  1. выполнения запроса ключи-только вне транзакции
  2. получить список до 25 ключей для работы на (например, с помощью Query Cursors)
  3. внутри транзакционного доступа (по ключу) объекты, соответствующие ключам в вашем списке, - эти обращения будут согласованы
1

Запрос не является транзакцией - возвращаемые результаты могут быть распределены по любому количеству сущностей.

 Смежные вопросы

  • Нет связанных вопросов^_^