Извините, Мриданг Агарвалла, иногда ваш вопрос вспоминается ...
Я думал, что способ поддерживать синхронизацию обеих баз данных , OLAP и OLTP, в актуальном состоянии с низким влиянием на OLTP.
В 2002 году я успешно применил эту технику для аналогичной проблемы. Работает следующим образом:
- Вы пишете триггер для каждой таблицы фактов. При изменении данных факта триггер вставляет в таблицу строку, отражающую это событие (idEvent + update | delete | insert + внешний ключ к таблице фактов).
- Демон с низким приоритетом выполняет бесконечный цикл, для каждой итерации цикла вы извлекаете 10 событий из таблицы и обновляете базу данных OLAP этой новой информацией.
Вы можете оптимизировать поведение демона, например, если в таблице нет новых событий, демон может спать в течение 15 секунд.
В моем сценарии только таблицы фактов имеют триггер. Если справочные данные таблицы фактов, которых нет, находятся в базе данных OLAP, я создал данные в это время (OLTP и OLAP имеют другую схему).
Если вы анализируете свою базу данных, вы можете найти сотни таблиц, но только несколько таблиц являются таблицами фактов.
Ну, я знаю, что это только частичный ответ вашего ответа. Вторая часть вашего вопроса - о мощном инструменте для анализа данных . Я не могу предложить вам какой-либо продукт с открытым исходным кодом (потому что у меня нет опыта работы с инструментами анализа с открытым исходным кодом). Я работал с программным обеспечением Microsoft Analysis Services + Tableau во внешнем интерфейсе. Это очень хорошее решение, но я не знаю, совпадает ли оно с вашей философией. Для интеллектуального анализа данных у вас есть KNIME (Konstanz Information Miner), который представляет собой удобную и всеобъемлющую платформу для интеграции, обработки, анализа и исследования данных с открытым исходным кодом (но вам нужна предварительная задача ETL).
Пожалуйста, присылайте мне новости о вашем проекте, мне очень интересно. У меня есть решение для посещаемости django, и я хочу добавить функции анализа.