Это применимо к Google App Engine, но не обязательно ограничено для него.
В Google App Engine база данных не реляционная, поэтому никакие агрегатные функции (такие как сумма, среднее и т. Д.) Не могут быть реализованы. Каждый ряд не зависит друг от друга. Чтобы вычислить сумму и среднее значение, приложение просто должно амортизировать свои расчеты путем пересчета для каждой отдельной новой записи в базу данных, чтобы она всегда была актуальной.
Как можно было бы рассчитать процентиль и распределение частот (то есть плотность)? Я хотел бы сделать график плотности поля значений, и этот набор значений, вероятно, порядка миллионов. Может быть целесообразно выполнить цикл по всему набору данных (предел для каждого запроса составляет 1000 возвращаемых строк) и рассчитать на основе этого, но я бы предпочел сделать некоторый разумный подход.
Существует ли какой-либо алгоритм для расчета или аппроксимации распределения плотности / частоты / процентиля, который можно рассчитать за определенный период времени?
Кстати, данные неопределенны, так как максимум и минимум могут быть повсюду. Таким образом, распределение должно занимать примерно 95% данных и делать только плотность, основанную на этом.