Существует ли способ сделать агрегатные функции на Google App Engine?

php.net предлагает использовать отражения, чтобы выяснить, содержит ли переменная корректное замыкание или нет

Я использую этого маленького помощника

function isClosure($suspected_closure) {
    $reflection = new ReflectionFunction($suspected_closure);

    return (bool) $reflection->isClosure();
}
11
задан Robert McGuinness 14 June 2009 в 15:46
поделиться

2 ответа

Для часто используемых агрегатов лучше всего обновлять их при каждом обновлении / вставке / удалении.

Если вы не разработали такие агрегаты в своем приложении с самого начала, вы можете запустить скрипт через Remote DataStore API или настройте серверную задание cron , которое будет обрабатывать все сущности и вычислять агрегаты. Это довольно просто, просто помните о квоте ЦП на запрос.

3
ответ дан 3 December 2019 в 10:26
поделиться

Правильно: чтобы правильно использовать хранилище GAE, вам необходимо выборочно денормализовать некоторые аспекты вашего модель, сохраняя «избыточные» данные, которые в БД в нормальной форме вы бы пересчитывали на лету, например агрегаты (общие и «сгруппированные по»).

Однако не добавляйте такие поля в Таблица Person в вашем случае - это бессмысленно!

6
ответ дан 3 December 2019 в 10:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: