2015-03-10 2 views
0

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

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

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

+0

Я думаю, это было бы намного легче понять, если бы вы могли объяснить фактическую структуру таблицы - это X, Y и Z отдельные таблицы размеров? Или иерархия, встроенная в одну таблицу измерений? Реальные имена и информация о том, как они связаны, также помогут. Я не понимаю 50 запросов или потенциальных миллионов запросов на данный момент, но я подозреваю, что с такой информацией он станет намного понятнее! –

ответ

-1

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

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

Смежные вопросы