Как использовать базу данных PostgreSQL в качестве источника данных XMLA?

Основа:

  • База данных PostgreSQL с обычными и отчетными данными
  • Загрузил ZIP-файл Mondrian из здесь
  • У меня есть клиентский компонент сводной сетки (DevExtreme Web)

Насколько я понимаю, мне нужно использовать OLAP-сервер, который функционирует как соединитель между запросами MDX и базой данных SQL, чтобы предоставить XMLA в качестве источника данных. Поэтому я хочу использовать OLAP-сервер Mondrian.

Вопрос:

Теперь мне нужно запустить OLAP-сервер Mondrian, подключить его к базе данных PostgreSQL и предоставить OLAP-схему.

  1. Как запустить OLAP-сервер Mondrian?
  2. Как подключить его к базе данных PostgreSQL?
  3. Как предоставить схему серверу mondrian?
  4. И, наконец, как подключиться к серверу mondrian?

Я не могу найти ни пошагового руководства, ни какой-либо полезной документации по mondrian. Для меня все это большое облако.


person Spenhouet    schedule 13.06.2016    source источник


Ответы (1)


Проблема

Спустя много-много часов я нашел эту ветку: Github - Mondrian issue 202

Разработчик Mondrian в этой ветке четко заявляет, что почти вся документация устарела и не имеет ничего общего с реальным сервером OLAP Mondrian 4.

Они говорят, что Mondrian 4 больше не поставляется с развертываемым файлом WAR, и схема имеет большие изменения.


Запустите Mondrian OLAP-сервер

Чтобы запустить Mondrian, я скачал этот проект maven, который запускает сервер mondrian: mondrian-xmla-spike

У меня все заработало с описанной базой данных derby Foodmart.

Вы можете либо импортировать проект как проект maven в IDE по вашему выбору (что я и сделал), либо запустить mvn через. консоль.


Используйте Mondrian в качестве поставщика XMLA

В проекте maven вы должны проверить все файлы (не многие) на жестко закодированные пути и изменить их в своей среде.

Если вы сделали это и запустили проект как приложение, сервер Mondrian должен быть доступен через. сервер причала по адресу http://localhost:8888/xmla

Вы можете подключить любой компонент, который может использовать источник данных XMLA и поддерживает сервер Mondrian OLAP! Последняя часть очень важна. Mondrian не полностью соответствует стандарту MDX. Плохое решение на стороне Penthao! Большинство OLAP-компонентов или BI-инструментов поддерживают только MS SQL Server в качестве источника данных XMLA.


Подключить Mondrian к БД PostgreSQL

Чтобы подключить существующий проект maven к базе данных PostgreSQL, мне пришлось выполнить несколько шагов:

  1. Обновите версию Mondrian в файле pom (xmla-spike.xml) до версии 4.x (я использовал 4.3.1.5-191). Вы можете выбрать одну из них здесь: Версии Пентао Мондриана
  2. Загрузите правильный драйвер JDBC (у меня это был JDBC42): Драйвер JDBC PostgreSQL и добавьте драйвер JDBC. (.jar) в библиотеки ваших проектов

    Или добавьте правильный драйвер JDBC (я использовал 9.4.1209) отсюда: PostgreSQL JDBC Driver JDBC 4.1 к вашему maven pom (xmla-spike.xml).

  3. Измените <DataSourceInfo> в datasource.xml на:

    Provider=mondrian;Jdbc=jdbc:postgresql://localhost:5432/default?user=postgre;JdbcDrivers=org.postgresql.Driver;Catalog=/WEB-INF/Schema.xml;

    • DB url: jdbc:postgresql://localhost:5432/default?user=postgre
    • => jdbc:postgresql://host:port/database
  4. Создайте файл Schema.xml и напишите простую схему, как описано здесь: Как разработать схему Mondrian 4< /а>

    Пример схемы Foodmart с метамоделью 4 можно посмотреть здесь: Foodmart.xml metamodelVersion="4.0"

  5. <Catalog name="*"> должно совпадать с именем схемы Schema.xml


Это работает для меня. Я надеюсь, что смогу помочь кому-то еще с этим. Если я забыл некоторые шаги, пожалуйста, прокомментируйте, и я добавлю недостающие шаги.

person Spenhouet    schedule 19.07.2016
comment
Вы нашли какой-либо компонент, который работает с Mondrian OLAP? - person Kinetic; 16.08.2016
comment
@Kinetic: Не совсем так. Для моего использования мне нужен JavaScript-компонент. DevExtreme вообще не работает, но они сказали, что рассматривают возможность поддержки сервера Mondrian OLAP в будущем: devexpress.com/Support/Center/Question/Details/T402894 PivotGrid Kendo UI работает в некоторой степени (без нескольких измерений в строке и столбце, без фильтрации и сортировки). - person Spenhouet; 17.08.2016
comment
@Spenhouet, что-нибудь изменилось с 2016 по 2021 год? - person Maulik Modi; 29.06.2021
comment
@MaulikModi Я не работал с OLAP, так как проект был завершен, и поэтому не знаю о текущем состоянии. - person Spenhouet; 12.07.2021