2. 1Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch
Agenda
▪ Einführung in OLAP
▪ OLAP für Big Data mit Apache Kylin
▪ Apache Kylin Features
▪ Apache Kylin & MDX
▪ Roadmap
▪ Zusammenfassung & Diskussion
3. Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch
Agenda
▪ Einführung in OLAP
▪ OLAP für Big Data mit Apache Kylin
▪ Apache Kylin Features
▪ Apache Kylin & MDX
▪ Roadmap
▪ Zusammenfassung & Diskussion
1
4. Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch
OLTP vs. OLAP
OLTP: OnLine Transaction Processing
▪ Transaktionsorientierte Datenzugriffe
▪ Wahlfreie Lese- und Schreibzugriffe
OLAP: OnLine Analytical Processing
▪ Konsolidierung der Daten
▪ Analyse gemäß mehreren Dimensionen
2
5. Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch
Einführung in OLAP
OLAP: Measures und Dimensionen
3
Sales Quantity
Sales Profit
Measures sind numerisch
Product
Category
Name
Color
Location
Region
Nation
City
Date
Day
Month
Year
Dimensionen beschreiben die Daten
7. Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch
Einführung in OLAP
5
1,1,1,0 1,1,0,1
1,1,1,1
1,0,1,1 0,1,1,1
0,1,1,0
1,0,0,0 0,1,0,0 0,0,1,0 0,0,0,1
0,0,0,0
0,0,1,10,1,0,11,0,0,11,0,1,01,1,0,0
Cube: Alle Kombinationen
Cuboid: Eine einzelne Kombination
Anzahl Cuboids wächst exponentiell
0-Cuboid
N-Cuboid
8. Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch
Einführung in OLAP
Das ist zwar schön und gut, aber…
Wie sieht es bei Big Data aus?
6
9. Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch
Big Data
Situation
▪ wachsende Datenmenge
○ Speicherung in Hadoop
▪ Beschränkung bestehender Business Intelligence Tools
○ begrenzte Integration mit Hadoop
○ beschränkte horizontale Skalierung
○ hohe Latenz von interaktiven Abfragen
7
10. Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch
OLAP und Big Data
Ziele
▪ OLAP Support und Funktionalität
▪ Analyse im Sekundenbereich
▪ ANSI SQL für Analysten
▪ Integration in existierende BI-Tools
▪ Gleichzeitige Nutzung bei > 1000 Benutzer
▪ Horizontale Skalierung bei großen Datenmengen
8
11. Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch
Agenda
▪ Einführung in OLAP
▪ OLAP für Big Data mit Apache Kylin
▪ Apache Kylin Features
▪ Apache Kylin & MDX
▪ Roadmap
▪ Zusammenfassung & Diskussion
9
12. Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch
Was ist Apache Kylin?
Lösung: Apache Kylin
Extreme OLAP Engine für Big Data
▪ verteilte und multidimensionale Analyse-Engine
▪ SQL Interface
▪ basiert auf Hadoop-Ökosystem
Open Source seit: 1. Oktober 2014
Apache Incubator Projekt seit: 25. November 2014
Aktuelle Version: 1.0 (6. September 2015)
heise Developer: Apache Kylin - OLAP im Big-Data-Maßstab (http://heise.de/-2824878)
10
13. Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch
Apache Kylin: Architektur
11
3rd Party App Web App BI Tools
REST Server
Query Engine
Routing
OLAP
Cube
(HBase)
OLAP
Cube
(HBase)Metadata
Cube Build Engine
Hive
HDFS
Star Schema Data Key Value Data
Mid Latency Low Latency
SQLSQL JDBC / ODBC
25. Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch
Agenda
▪ Einführung in OLAP
▪ OLAP für Big Data mit Apache Kylin
▪ Apache Kylin Features
▪ Apache Kylin & MDX
▪ Roadmap
▪ Zusammenfassung & Diskussion
23
26. Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch
Apache Kylin und MDX
SQL Rückgabe: 2-dimensional
Für mehrere Dimensionen wurde SQL nicht konzipiert
Wünschenswert:
▪ Mehrdimensionale Rückgabe
▪ Hierarchien und Levels in den Daten berücksichtigen
24
Abfragesprache: MDX
27. Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch
Pentahos Mondrian
Mondrian
▪ OLAP Engine
▪ Transformation der MDX-Anfragen in SQL
▪ multidimensionale Repräsentation der Daten
▪ integriert in Saiku / Pentahos Business Analytics Platform
▪ Erweiterbar durch SQL-Dialekt
○ z.B. MySQL, Postgres, Hive, Impala, ...
25
28. Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch
Apache Kylin + Mondrian: Die Idee
26
Saiku
Apache Kylin
HBase, Cuboids ...
MondrianMondrian Schema
Measures
Dimensions
Hierarchies
Levels
Attributes
XML
MDX
SQL
29. Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch
Apache Kylin + Mondrian: Umsetzung
Umsetzung:
▪ JDBC-Treiber von Kylin optimiert
▪ Fehler in der SQL-Engine von Kylin behoben
TBD:
▪ Kylin Dialekt in Mondrian integrieren
Erfolgreiche Tests:
Saiku und Mondrian 4.4 (Lagunitas)
Github: https://github.com/mustangore/kylin-mondrian-interaction
27
30. Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch
Agenda
▪ Einführung in OLAP
▪ OLAP für Big Data mit Apache Kylin
▪ Apache Kylin Features
▪ Apache Kylin & MDX
▪ Roadmap
▪ Zusammenfassung & Diskussion
28
31. Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch
Apache Kylin: Roadmap
2015
▪ Kylin 2.0: Near Real-time (Inverted Index*)
▪ Cube Build mit Apache Spark
▪ Dokumentation und Tutorials
▪ Apache Top Level Projekt
ab 2016
▪ Excel Support
▪ HOLAP
▪ Automation
▪ …
* JIRA Ticket: https://issues.apache.org/jira/browse/KYLIN-972
29
32. Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch
Agenda
▪ Einführung in OLAP
▪ OLAP für Big Data mit Apache Kylin
▪ Apache Kylin Features
▪ Apache Kylin & MDX
▪ Roadmap
▪ Zusammenfassung & Diskussion
30
33. Apache Kylin - OLAP Cubes on Hadoop Sébastien Jelsch
Apache Kylin: Fazit
▪ Extrem schnelle und skalierbare OLAP Engine
▪ ANSI SQL Interface on Hadoop
▪ Integration in existierende BI Tools
▪ MOLAP Cube
▪ Inkrementeller Refresh des Cubes
▪ Release 2.0 noch in 2015
31
35. Kontakt
Sébastien Jelsch
Big Data Scientist
inovex GmbH
Office Karlsruhe
Ludwig-Erhard-Allee 6
76131 Karlsruhe
Tel: 0176-45786280
E-Mail: sebastien.jelsch@inovex.de
Twitter: @inovexgmbh | @Mustangore
Vielen Dank für Ihre Aufmerksamkeit