Использование Сайку-ии без Сайку-сервера / Мондриана?
Можно ли использовать компонент saiku-ui с другим поставщиком jolap, отличным от mondrian, или с другим серверным бэкэндом, чем компонент saiku-server?
Я искал, но я не нашел описания архитектуры того, как эти части сочетаются друг с другом и какие интерфейсы они используют для общения. Может ли кто-нибудь указать мне на понимание того, что хочет сказать сайку-ии и что предоставляет сервер сайку?
Причиной моего интереса является то, что у меня есть набор данных, распределенных по сотням CSV-файлов, которые я хотел бы запросить с помощью инструмента сводных диаграмм и диаграмм. Похоже, что стандартным способом использования этого с сайку было бы иметь процесс ETL для загрузки в RDBMS. Однако это не будет простым процессом, потому что файлы и контент, а также то, как файлы связаны друг с другом, различаются, поэтому ETL придется много проверять источники данных, чтобы выяснить это.
Учитывая это, мне кажется, что у меня было бы три варианта использования сайку:
1) написать сложный ETL для загрузки в rdbms, а затем использовать стандартный драйвер jdbc для передачи данных в modrian. Побочной функцией ETL будет анализ входных данных и запись файла схемы Мондриана, описывающего кубы.
2) написать драйвер jdbc для прямого доступа к данным. Этот драйвер будет анализировать sql и предоставлять доступ к базовым таблицам. По сути, это были бы пользовательские r/o dbms, написанные поверх файлов csv. JDBC соединение будет использоваться Mondrian для доступа к данным. Побочной функцией этой пользовательской базы данных будет создание файла схемы Мондриана.
3) написать инструмент, который предоставляет интерфейс jolap для собственных данных (принимает запросы на обнаружение и MDX). Это позволит полностью обойти Мондриана и взаимодействовать с пользовательским интерфейсом.
Возможно, я немного наивен, но считаю, что каждый из трех вариантов возможен. Вариант № 1 - наименее предпочтительный, поскольку вероятность того, что данные в rdbms не будут синхронизированы с файлами cvs. Вариант № 3 является наиболее предпочтительным, потому что данные просты, поэтому не требуется много агрегирования, и я подозреваю, что mdx будет легче анализировать, чем sql.
Итак, если бы я мог создать свой собственный источник данных jolap, можно ли подключить к нему инструменты saiku-ui? Где я могу найти детали конфигурации интерфейса?
2 ответа
Много лет назад @ronaldbouman создал xmondrian - набор инструментов с сервером olap и инструментами веб-интерфейса для просмотра и визуализации xmla. Но этот проект не обновлялся и не имеет исходного кода.
Я только что обновил olap сервер и библиотеки до последних версий.
Вы можете получить его здесь и построить: https://github.com/Muritiku/xmondrian-build.
Вы можете использовать веб-пакет в качестве примера. Сервер Mondrian работает с сайку-UI.
ПО МОЕМУ МНЕНИЮ,
Я не был бы настолько уверен в себе, как вы, потому что Джулиану Хайду потребовалось более десяти лет, чтобы построить Mondrian (MDX->SQL) и Calcite (SQL), выполняя ваши последние два предложения.
Вы можете просто подумать об использовании Calcite или даже лучше Dremio. Dremio имеет интерфейс JDBC и может запрашивать каталоги файлов CSV в SQL. Я успешно протестировал Saiku поверх Dremio (со схемой, основанной на двух отдельных RDBMS). Просто будьте осторожны при настройке схемы таблиц в схеме Mondrian v4.
С наилучшими пожеланиями, Фабрис Etanchaud