Есть ли какие-либо ограничения для сущностей, записанных в одном пакетном запросе на группу сущностей (максимальное число / секунду) в AppEngine DataStore?
Я структурирую "схему" своего хранилища данных и создал корневую сущность, которая имеет много дочерних объектов. Мое приложение может делать тысячи записей в дочерних объектах. (Причиной этого была некоторая простота с точки зрения транзакций - я могу сохранить дочерние объекты в одной транзакции - они все являются одной группой объектов - но давайте пока забудем о транзакциях).
Я боюсь, что мое приложение будет расти, и будет еще много записей - не будет ли лучше, если я выберу "схему", где дочерние энтиты были корневыми сущностями, таким образом, записывая во многие группы сущностей.
Различно ли сохранять партию разных сущностей, которые являются корневыми сущностями, и одну и ту же порцию, если они все принадлежат одной группе сущностей с точки зрения производительности - запись / секунда (абстрагирование от разногласий и транзакций)?
Помимо этого, есть ли разница в производительности, если эти дочерние энтеиты относятся к одному виду или к разным?
1 ответ
Есть ограничение:
Этот подход обеспечивает строгую согласованность путем записи в одну группу объектов для каждой гостевой книги, но он также ограничивает изменения в гостевой книге не более 1 записи в секунду (поддерживаемое ограничение для групп объектов).
Нет причин помещать объекты в одну группу, если вам не нужны транзакции. Помимо соображений производительности, размер хранилища данных значительно увеличится: ключ дочернего объекта содержит ключ каждого объекта-предка.