Как использовать базу данных PostgreSQL в качестве источника данных XMLA?
Основа:
- База данных PostgreSQL с обычными и отчетными данными
- Скачал Mondrian zip отсюда
- У меня есть компонент сетки клиента Pivot ( DevExtreme Web)
Насколько я понимаю, мне нужно использовать OLAP-сервер, который функционирует как соединитель между запросами MDX и базой данных SQL, чтобы предоставлять XMLA в качестве источника данных. Для этого я хочу использовать Mondrian OLAP-сервер.
Вопрос:
Теперь мне нужно запустить OLAP-сервер Mondrian, подключить его к базе данных PostgreSQL и предоставить OLAP-схему.
- Как запустить Mondrian OLAP-сервер?
- Как подключить его к базе данных PostgreSQL?
- Как предоставить схему серверу mondrian?
- И наконец, как подключиться к серверу 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, мне пришлось сделать несколько шагов:
- Обновите версию Mondrian в файле pom (xmla-spike.xml) до версии 4.x (я использовал
4.3.1.5-191
). Вы можете выбрать один из здесь: Penthao Mondrian Версии Загрузите правильный драйвер JDBC (для меня это был JDBC42): драйвер JDBC PostgreSQL и добавьте драйвер JDBC (.jar) в свои библиотеки проектов.
Или добавьте правильный драйвер JDBC (я использовал
9.4.1209
) отсюда: JDBC-драйвер PostgreSQL JDBC 4.1 для вашего maven pom (xmla-spike.xml).Изменить
<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
- URL БД:
Создать
Schema.xml
запишите и напишите простую схему, как описано здесь: Как спроектировать схему Mondrian 4Вы можете посмотреть пример схемы Foodmart с метамоделью 4 здесь: Foodmart.xml metamodelVersion = "4.0"
<Catalog name="*">
должен Mach имя схемыSchema.xml
Это работает для меня. Я надеюсь, что могу помочь кому-то еще с этим. Если я забыл некоторые шаги, пожалуйста, комментарий, и я добавлю недостающие шаги.