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

Основа:

  • База данных PostgreSQL с обычными и отчетными данными
  • Скачал Mondrian zip отсюда
  • У меня есть компонент сетки клиента Pivot ( DevExtreme Web)

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

Вопрос:

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

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

Я не могу найти пошаговое руководство или какую-либо полезную документацию Мондриана. Это все большое облако для меня.

1 ответ

Решение

Эта проблема

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

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

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


Запустить Mondrian OLAP Server

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

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

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


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

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

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

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


Подключите Mondrian к базе данных PostgreSQL

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

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

    Или добавьте правильный драйвер JDBC (я использовал 9.4.1209) отсюда: JDBC-драйвер PostgreSQL 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;

    • 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="*"> должен Mach имя схемы Schema.xml


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

Другие вопросы по тегам