Альтернативная стратегия для агрегирования запросов («группировать по») в хранилище данных движка приложений Google

В хранилище данных App Engine невозможно запросить совокупный результат.

Пример: У меня есть объект под названием "Сообщение" со следующими полями:

Key id, String nickname, String postText, int score

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

Если я Если вам нужна таблица лидеров из десяти лучших никнеймов по общему количеству оценок, я обычно использую sql следующего вида:

select nickname, sum(score) as sumscore
from Post 
group by nickname 
order by sumscore 
limit 10

Этот тип запроса невозможен в java api хранилища данных Google App Engine (jdo или jpa).

Какие альтернативы стратегии, которые я мог бы использовать для достижения аналогичного результата?

Грубо и грубо я мог загрузить каждую сущность Post и полностью вычислить агрегацию в коде моего приложения. Очевидно, это неэффективно для больших наборов данных.

Какие еще стратегии я могу использовать?

6
задан Patrick 8 October 2010 в 04:51
поделиться