Native Analysen mit MongoDB und dem Pentaho Analyzer

1
Pentaho & MongoDB

Pentaho & MongoDB

Der Pentaho Analyzer ist ein Tool zur Visualisierung und Auswertung von Daten. Bis vor kurzem war der Analyzer nur mit relationalen Datenbanksystemen einsetzbar. Erst seit Herbst 2014 ermöglicht Pentaho mit der Version 5.1, native Analysen auf dem MongoDB-Datenspeicher durchzuführen. Damit ist Pentaho die erste End-to-End-Analyselösung für MongoDB. Anlass, sich den Analyzer im Zusammenhang mit MongoDB näher anzuschauen.

Ad-Hoc-Analysen, Dashboards und Reports lassen sich durch die neue Unterstützung ohne umständliche manuelle Programmierung direkt erzeugen. Vor Version 5.1 war es nämlich so, dass, ähnlich wie bei anderen Software-Lösungen, die Daten aus MongoDB extrahiert, relational aufbereitet und anschließend in ein geeignetes Relational Database Management System (RDBMS) geladen werden mussten. Das ist jetzt nicht mehr nötig und macht es daher eine ziemlich spannende Geschichte. Diese Funktionalität zeigt Pentaho in einer Demoanwendung, die man sich unter http://www.pentaho.com/analytics-for-mongodb herunterladen kann.

Ich habe mir interessehalber den Integrationsprozess in der Demo genauer angeschaut. Er verläuft in drei Schritten:

  • Importieren der Rohdaten
  • Importieren der Mondrian-Schemata
  • Erzeugen der Datenbankverbindung

Bevor mit den eigentlichen Integrationen begonnen werden kann, müssen zuerst die Rohdaten im Datenbankmanagementsystem hinterlegt werden. Diese sind bereits Teil der Pentaho Enterprise Edition und finden sich im Verzeichnis /pentaho-solutons/system/samples/ mondrian-data-foodmart-json-0.3.3.zip. Wenn das passiert ist, muss man die Daten über die Funktion mongoimport -db foomart – <Name der Kollektion> –type json –file <Dateiname>in die Datenbank laden. Sie sollten dabei unbedingt auf die korrekte Benennung der Kollektionen achten:

Dateiname                                                  Name der Kollektion
sales_fact_1997_collapsed.json                 sales
foodmart_data_sales_transactions.json     sales_transactions
agg_g_ms_pcat_sales_fact_1997.json      agg_g_ms_pcat_sales_fact_1997
agg_c_10_sales_fact_1997.json                agg_c_10_sales_fact_1997

Nach dem Import der Daten hinterlegt man das Mondrian-Schema im Analyzer. Das Schema befindet sich im Verzeichnis /pentaho-solutons/system/samples/FoodMart.mongo.xml. Die Integration läuft wie bei der Einbindung der herkömmlichen Schemata relationaler Datenbanksysteme über die User Console.

Pentaho & MongoDB (Quelle: Pentaho)

Pentaho & MongoDB (Quelle: Pentaho)

Abschließend definiert man die entsprechende Datenbankverbindung. Bislang ist es leider nicht möglich, einen entsprechenden JDBC- oder ODBC- Treiber zu verwenden wie bei relationalen Datenbanken. Zum Erzeugen der Verbindung ist es notwendig, die Olap4J Properties zu bearbeiten (das kann man mit jedem gewöhnlichen Texteditor tun, die Datei findet man unter pentaho-solutions/system).

 

Dazu sind die folgenden Erweiterungen nötig:

foodmart.name=MongoFoodmart
foodmart.className=org.pentaho.platform.plugin.services.connections.PentahoSystemDriver
foodmart.connectString=jdbc:mondrian4:Host=127.0.0.1;dbname=test;authenticationDatabase=admin;DataServicesProvider=com.pentaho.analysis.mongo.MongoDataServicesProvider;Catalog=solution:/home/admin/pentaho-mongolap/test-data/FoodMart.mongo.xml;username=bizreporter;password=ENC:Yml6M3ViZWQ=

Detailansicht:

MongoFoodmart                                         Name des Mondrian-Schemas
-foodmart                                                    Name der Datenbankverbindung
-Host                                                          Server-IP, auf dem die Datenbank liegt
-dbname                                                     Name der MongoDB-Datenbank
-Catalog                                                     Serververzeichnis, in dem das Schema liegt
-username                                                  Nutzer mit Zugriff auf die Datenbank
-password                                                  Verschlüsseltes Passwort des Nutzer

Den so entstandenen Datenspeicher kann man sofort für Ad-hoc-Auswertungen, Dashboards und Reports verwenden und profitiert dabei von der hohen Geschwindigkeit von MongoDB. Durch diese neue Verbindungsmöglichkeit wird Pentaho zur ersten vollständigen Analyselösung für MongoDB, die Auswertungen in Pentaho auf MongoDB-Datenbeständen ermöglicht und die klassische N-Architektur obsolet macht.

Tags: , ,

Stefan Müller - Director Business Intelligence & Big Data
Nach mehreren Jahren Tätigkeit im Bereich Governance & Controlling und Sourcing Management ist Stefan Müller bei it-novum gelandet, wo er den Bereich Business Intelligence aufgebaut und in Richtung Big Data weiterentwickelt hat. Stefans Herz schlägt für die Möglichkeiten, die die BI-Suiten von Pentaho und Jedox bieten, er beschäftigt sich aber auch mit anderen Open Source BI-Lösungen. Seine Begeisterung für Business Open Source im Bereich Datenintelligenz gibt Stefan regelmäßig in Fachartikeln, Statements und Vorträgen weiter.
Webprofile von Stefan: Twitter, LinkedIn, XING

Ein Gedanke zu „Native Analysen mit MongoDB und dem Pentaho Analyzer

  1. Pingback: MongoDB und Pentaho: BI-Analysen der nächsten Generation

Kommentar schreiben

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.