GAE/J Выборка все быстрее с 1 группой объектов или несколькими группами объектов?
У меня есть сущность под названием Movie.
Я хочу иметь метод get_or_create для объекта Movie. Прямо сейчас каждая сущность Кино находится в своей собственной группе сущностей.
Я прочитал, что должен поместить их в одну группу сущностей и использовать транзакции, чтобы избежать дублирования сущностей.
Я мог бы также, возможно, выбрать свой собственный уникальный ключ, который приведет к перезаписи нескольких записей (идемпотент) без какого-либо эффекта.
Количество фильмов может быть от 1 до 50000. В какой-то момент я хочу получить их всех. Будет ли быстрее выполнить запрос к одной группе объектов или нескольким группам объектов? Это быстрее, потому что вся группа сущностей хранится в определенном узле?
Мое требование - быстро прочитать все фильмы.
Спасибо!
1 ответ
Я прочитал, что должен поместить их в одну группу сущностей и использовать транзакции, чтобы избежать дублирования сущностей.
Это не вариант. Использование имени ключа, как вы предлагаете, для предотвращения дублирования, гарантируя, что потенциальные дубликаты имеют одинаковое имя ключа.
Группы объектов должны использоваться только для транзакций и должны быть как можно меньшими, так как обновления группы объектов ограничены примерно 1 в секунду.
Количество фильмов может быть от 1 до 50000. В какой-то момент я хочу получить их всех. Будет ли быстрее выполнить запрос к одной группе объектов или нескольким группам объектов?
Группы объектов не влияют на скорость этого запроса - в любом случае, запрос сначала ищет объекты в индексе, затем извлекает их (параллельно) и возвращает вам.
Имейте в виду, что получение 50 000 объектов будет медленным независимо от того, что вы делаете. Избегайте этого, если можете.