Настройка агрегации исторических данных
Иногда хранение всего объема сырых событий и обновлений значений провоцирует возникновение слишком большого объема данных для постоянного хранения. В этом случае, можно использовать предварительную агрегацию исторических данных.
В SberMobile Server доступно два метода предварительной агрегации:
- Кольцевая БД
- Гранулы
Агрегация в кольцевой БД
В SberMobile Server встроена кольцевая БД, которая помогает хранить агрегированную статистику временных серий.
Агрегация в гранулах
Гранулы - это особые события, которые содержат различные агрегированные значения для различных периодов во временных сериях. Каждый раз когда сервер получает новое событие/значение, он находит подходящую гранулу и объединяет только что полученное значение с агрегированным значением, вычисляя и непрерывно храня новое агрегированное значение.
Сравнение методов агрегации исторических данных
Метрика | Статистика в кольцевой БД | Агрегированные значения в гранулах |
Размер агрегированных данных | Постоянный, ниже | Изменяющийся, выше |
Скорость обновления агрегированных данных | Выше | Ниже |
Скорость извлечения агрегированных данных | Выше | Ниже |
Тип и формат агрегированных значений | Только числовая | Любые |
Функции агрегации | Пользовательская | Фиксированные (средние, минимальные, максимальные, итоговое, первое, последнее) |
Периоды времени | Периоды фиксированной длительности | Периоды, соответствующие реальным календарным периодам (такие как дни и месяцы), time zones respected |
Поддержка агрегации в оперативной памяти | Да | Нет |
Встроенная поддержка исходных значений с динамической компенсацией | Да | Нет |