Стратегии для аналитики в режиме, близком к реальному времени

У меня есть несколько разных «измерений», в основном иерархических. Я хотел бы запустить некоторые показатели, сохраненные на отдельных уровнях иерархии. Когда вы перемещаетесь по этой иерархической структуре, метрики обновляются в зависимости от вашего текущего выбора.

В традиционных системах OLAP у вас есть несколько таблиц измерений с таблицей фактов, и вы выполняете ETL, чтобы получить данные в свое хранилище данных и выполнить запросы к ним. Я хотел бы сделать это почти в реальном времени. Выполнение этого в режиме реального времени означает, что ETL должны выполняться почти в реальном времени (вероятно, точки данных кэшируются в памяти).

Если иерархическая структура (X -> Y -> Z), то если у меня есть 5 X, 2 Y и 5 Z в качестве измерения, мне нужно выполнить (5 * 2 * 5) => 50 запросов, чтобы заполнить таблицу фактов. ? Если эта иерархия станет больше, я легко смогу запустить миллионы запросов. Я не уверен, правильно ли я думаю об этой проблеме, было бы очень полезно, если бы кто-то с опытом анализа данных в реальном времени мог поделиться своим опытом.


person opensourcegeek    schedule 10.03.2015    source источник
comment
Я думаю, это было бы намного проще понять, если бы вы могли объяснить фактическую структуру таблицы - X, Y и Z являются отдельными таблицами измерений? Или иерархия, встроенная в одну таблицу измерений? Настоящие имена и информация о том, как они связаны, также могут помочь. Я не понимаю 50 запросов или потенциальных миллионов запросов на данный момент, но я подозреваю, что с такой информацией все станет намного яснее!   -  person Jo Douglass    schedule 07.04.2015


Ответы (1)


Не понимаю, зачем вам нужны миллионы запросов для обновления ваших данных фактов. Простой «инкрементный идентификатор» для каждой таблицы может сообщить системе OLAP, какие строки необходимо загружать каждый раз при обновлении данных.

Возможно, вы можете взглянуть на icCube, который позволяет для аналитики, близкой к в реальном времени; поскольку кубы не кэшируют никакого агрегирования, каждый раз, когда загружаются новые данные, они готовы к запросу.

person Marc Polizzi    schedule 10.03.2015