SlideShare ist ein Scribd-Unternehmen logo
1 von 81
Downloaden Sie, um offline zu lesen
Caching:
In-Memory Column Store oder BI Server?
Andreas Buckenhofer / Analytics / Daimler TSS
1Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
Zur Person
Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
Andreas Buckenhofer
Senior DB Professional
E-Mail: andreas.buckenhofer@daimler.com
Seit 2009 bei Daimler TSS
im Fachgebiet Data Warehouse & Data Integration (Cognos/Informatica) –
Department Analytics
Schwerpunkt DWH/CRM seit 1998 als
• Entwickler
• Administrator
• Berater
Daimler TSS IT-Exzellenz: Ganzheitlich, innovativ, nah
Wir sind Spezialist und strategischer Business-Partner für innovative IT-Lösungen im Daimler-Konzern. Als
100%ige Daimler-Tochter leben wir die Kultur der Exzellenz mit dem Anspruch der Innovations- und
Technologieführerschaft.
Mit herausragender Technologie- und Methodenkompetenz verstehen wir uns als kompetenter Anbieter von
wettbewerbsdifferenzierenden IT-Dienstleistungen. Unsere Geschäftspartner im Konzern begleiten wir
lösungsorientiert im Rahmen eines ganzheitlichen Ansatzes.
Wir denken und arbeiten partnerschaftlich und agil, sind technologieneutral und hersteller-unabhängig. Das macht
uns frei für maßgeschneiderte End-to-End-Lösungen mit hoher Effektivität. Die Aufnahme wichtiger Trends und
Impulse von außen zusammen mit dem tiefen Verständnis der Daimler-Geschäftsprozesse garantieren eine
umfassende Sicht und überzeugenden Mehrwert.
Unser Anspruch ist es, die Geschäftsprozesse, die Wettbewerbsfähigkeit und die Innovations-kraft von Daimler mit
marktführenden IT-Lösungen voranzutreiben. Als attraktiver Arbeitgeber wollen wir mit Menschen arbeiten, die durch
unser Unternehmen und das menschlich geprägte Umfeld inspiriert sind ihr Bestes zu geben und mit uns ihr volles
Potential zu entwickeln.
3Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
Standorte Daimler TSS
4Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
5Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
Ganzheitliche Betreuung (Erhebung, Auswertung,
Visualisierung und Interpretation), unabhängige
Beratung und Optimierung der Geschäftsabläufe.
Von klassischer BI bis hin zu predictive und prescriptive
Analytics bieten wir Leistungen unter Berücksichtigung
der Datensicherheit.
Dabei verknüpfen wir fachliche Erfahrung und IT-Know-
how im Daimler-Kontext mit dem Blick fürs große
Ganze.
Analytics. Das große Ganze verstehen, um Daten nutzbar machen.
Gliederung
Motivation und Konzepte spaltenorientierter In-Memory DBs (IMDB)
OLAP/Cognos In-Memory Cubes und IMDB
Testszenario und –durchführung mit Oracle
Erkenntnisse/Folgerungen
Zusammenfassung
6Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
DWH Reference Architecture
7Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
Backend
Frontend
Acquisition Layer (Input Layer)
Core Warehouse Layer (Storage Layer)
Information Mart Layer (Output Layer)
Ad-hoc
Reporting
Standard
Reporting
Dash-
boards
Predictive
Analytics
Prescriptive
Analytics
Star OLAP
3NF Data Vault
Keine FK, PKFlat
DWH Reference Architecture PoC
8Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
Backend
Frontend
Acquisition Layer (Input Layer)
Core Warehouse Layer (Storage Layer)
Information Mart Layer (Output Layer)
Cognos BI Cognos SPSS / R
Star Cognos Cubes
Data Vault
Keine FK, PKFlat
Information und Analytics Mart Layer
Ausgangssituation/Fragestellung im Projekt:
• Modellierung: Relationales Starschema mit In-Memory DB oder weiterhin
Nutzung von Cubes?
• Analysen / Reporting direkt auf Core Warehouse Layer möglich (=
performant)?
9Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
In-Memory … nicht neu
Datenbank Buffer Cache
Datenspeicherung auf RAM-Disk
Datenspeicherung auf SSD
OLAP In-Memory Cubes
Datenanalyse mit Qlikview, TM1, u.a.
10Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
In-Memory - Cache Latenz
11Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
Quelle: Brendan Gregg: “Systems Performance: Enterprise and the Cloud”
Flüchtig
Nicht flüchtig
„In-Memory“
Festplatte
Datenverteilung, z.B. partitionierte Umsatzdaten
In-Memory – Speicherhierarchien Kosten vs Nutzen
12Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
Festplatte SSD RAM
1/2015
2/2015
…
1/2013
…
12/2014
<= 12/2012
Wenig genutzte
Daten
Häufig genutzte
Daten
Spaltenorientierung … nicht ganz so neu
13Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
1993 1995 > 2004
KDB
Sybase IQ
(heute SAP)
Relational:
Monet
C-Store
Vertica
Greenplum
(Nicht-Relational:
BigTable
HBASE
Cassandra)
Spaltenorientierung: Speicherung Zeilen- vs Spalten
14Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
Id Name Geburtsdatum
1 Maier 1967
2 Schmitt 1980
3 Maier 1993
4 Berger 1980
5 Müller 1967
6 Maier 1970
7 Müller 1980
Spaltenorientierte Speicherung
1, Maier,
1967, 2
Schmitt,
1980, 3
Maier, 1993,
4, Berger,
1980, 5
Müller, 1967,
6, Maier,
1970, …
1, 2, 3, 4, 5,
6, 7, …
Maier,
Schmitt,
Maier,
Berger,
Müller,
Maier,
Müller, …
Zeilenorientierte Speicherung
Block / Page / In-Memory Unit
Zeilen- vs Spaltenorientierung: Vor und Nachteile
15Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
Zeilenorientierung Spaltenorientierung
Vorteile • Datensatz wird zusammen
abgespeichert
• Einfache/Performante
Updates und Deletes
• Select auf eine oder mehrere
Spalten liest keine unnötigen
Spalten
• Spalte kann als Index verstanden
werden
Nachteile • Es wird der gesamte
Datensatz gelesen – auch
wenn nur einzelne Spalten
benötigt werden
• Nach der Selektion muss ein
Datensatz aus den einzelnen
Spalten rekonstruiert werden
• Inperformante Datenänderungen
• Cache-Aufbau
Vorteil: Komprimierungsverfahren je nach Datentyp
16Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
Dictionary Encoding
• Zentrale Wörterbücher zur Kodierung.
Run-length Encoding
• Mehrfache Wiederholungen werden durch ein Anzahl-Attribut kodiert.
Null-Suppression
• Unterdrückung von Nullwerten.
Bit-Vector
• Kodierung von 0 bzw1 für eine vorhandene bzw. nicht vorhandene Ausprägung.
Vorteil: Data Skipping (Column Store Storage Index)
17Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
• Automatische Registrierung minimaler und maximaler Werte in einer IMU
• „Interner Index“: Ignorieren/Überlesen nicht relevanter Pages
Cache mit InMemory Units (IMU)
1,9,20,34,4,100,…Min: 1 Max: 100
22,1,19,34,4,10,…Min: 1 Max: 34
SQL-Abfrage
SELECT …
FROM …
WHERE spalte > 50
72,60,60,61,60,69,…Min: 60 Max: 72
32,44,30,50,50,…Min: 30 Max: 50
skip
Vorteil: SIMD-Prozessoren (Single Instruction Multiple
Data)
18Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
CPU
Vector
Register
z.B. where x=12
1
12
3
12
5
5
12
12
12
12
12
12
Cache (RAM)
1
12
3
12
5
5
12
12
Zusammenfassung Auswahl Konzepte
Spaltenorientierte
IM DB
RAM
(In-Memory)
Spalten-
orientierung
KomprimierungData Skipping
SIMD
19Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
Gliederung
Motivation und Konzepte spaltenorientierter In-Memory DBs (IMDB)
OLAP/Cognos In-Memory Cubes und IMDB
Testszenario und –durchführung mit Oracle
Erkenntnisse/Folgerungen
Zusammenfassung
20Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
OLAP Cubes
Multidimensionales
Format
21Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
OLAP Cubes
• Multi-dimensionales Datenarray „Würfel“
• Fakten, Dimensionen, Hierarchien, Aggregate
• Eine Struktur ohne Joins
• Ziel: schnell / interaktiv
• KPIs (Kennzahlen) nötig + Dimensionen
• Typisch für BI Reporting, aber auch inflexibel
• Beladung meist mittels Batch
22Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
Kunde
Produkt
KPI
Umsatz
Cognos Dynamic Cubes
• In-Memory OLAP-Würfel, die Daten direkt aus relationalen DBs laden
• Voraussetzung: Star-Schema oder Snowfalke-Schema (Views möglich, aber
nicht empfohlen)
• In Cognos BI integriert– keine seperate Installation oder Lizenz
• Verschiedene Caches
23Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
Cognos Dynamic Cubes – Cache Hierarchie
24Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
Cognos Dynamic Cubes – Cache Hierarchie
25Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
Start Cube
• Member Cache wird komplett geladen
• Aggregate Cache wird komplett
geladen
Reporting/Daten-Analyse
• Weitere Caches werden nach Bedarf
geladen
• Sobald Cache voll ist, werden Daten
aus DB gelesen
Oracle
Das duale Format in der Datenbank
26Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
Oracle – Buffer Cache (row) and IMDB (columnar)
27Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
Quelle: Guy Harrison: “Next Generation Databases”
Gliederung
Motivation und Konzepte spaltenorientierter In-Memory DBs (IMDB)
OLAP/Cognos In-Memory Cubes und IMDB
Testszenario und –durchführung mit Oracle
Erkenntnisse/Folgerungen
Zusammenfassung
28Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
Testszenario mit Oracle DB
Daten: 60GB komprimiert sowie RAM: 60GB
• Testlauf 1: Zeilenorientierte Speicherung „Baseline“ mit Basic compression
• Testlauf 2: Spaltenorientierte Speicherung „Vergleich“ mit Low compression
• Verschiedene parallele Abfragen (simulieren User-Parallität)
• 3 Datenmodelle
29Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
Testzenario – 3 Datenmodelle
30Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
Data Vault
Strukturierte
Modellierung
für das Core
Warehouse
Star
Fakten und
Dimensionen
typisch für
Data Mart
Layer
Flat
Flache
Tabelle =
MeinExcel
Testzenario – 3 Datenmodelle (Auszug Datenmodell)
31Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
Data Vault Star Flat
Testszenario – Abfragen (Beschränkung auf Standard-
Abfragen)
Typ 1
•Simuliert Report-Einstieg
•Keine where-Bedingung, Aggregation auf höchster Ebene
Typ 2
•Simuliert Drill Down von Typ 1
•1-2 where-Bedingungen
Typ 3
•Simuliert Drill Down von Typ 2
•3-4 where-Bedingungen
32Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
4 parallele Sessions
führen Abfragen aus in der Reihenfolge
Typ1->Typ2->Typ3->Typ3->Typ2->Typ3->Typ3
Verhältnis Häufigkeit Typ1:Typ2:Typ3 = 1:2:4
Testszenario mit Oracle DB
Daten: 60GB komprimiert sowie RAM: 60GB
• Testlauf 1: Zeilenorientierte Speicherung „Baseline“ mit Basic
compression
• Testlauf 2: Spaltenorientierte Speicherung „Vergleich“ mit Low compression
• Verschiedene parallele Abfragen (simulieren User-Parallität)
• 3 Datenmodelle
33Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
0
10
20
30
40
50
60
70
Data Vault Star Flat
Buffer Cache
Laufzeit (sek)
Buffer Cache
Größe (GB)
Testlauf 1: zeilenorientierte Speicherung, Cache
34Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
3 1 1 2 32
Testlauf 1: Bewertung
Ergebnis bestätigt die Erwartungen: Star Schema performant für Reporting
Star Schema (= empfohlene Modellierung für Standardreports im Data Mart)
• Klar beste Performanz und sehr gute Komprimierung (kleine Indexe)
Data Vault (eine mögliche Modellierung im Core Warehouse Layer)
• Schlechte Leseperformanz, da für Beladung optimiert
• Hash Keys verwendet, daher relativ großer Speicherverbrauch
Flat
• Hohe Datenmenge aufgrund großer Redundanz
35Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
Testszenario mit Oracle DB
Daten: 60GB komprimiert sowie RAM: 60GB
• Testlauf 1: Zeilenorientierte Speicherung „Baseline“ mit Basic compression
• Testlauf 2: Spaltenorientierte Speicherung „Vergleich“ mit Low
compression
• Verschiedene parallele Abfragen (simulieren User-Parallität)
• 3 Datenmodelle
36Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
0
5
10
15
20
25
30
Data Vault Star Flat
IMDB
Laufzeit (sek)
IMDB
Größe (GB)
Testlauf 2: spaltenorientierte Speicherung, Cache
37Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
3 2 1 1 23
Vergleich Testlauf 1 und Testlauf 2
38Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
0
5
10
15
20
25
30
35
40
45
Data Vault Star Flat
Buffer Cache
Laufzeit (sek)
IMDB
Laufzeit (sek)
0
10
20
30
40
50
60
70
Data Vault Star Flat
Buffer Cache
Größe (GB)
IMDB
Größe (GB)
Laufzeit Cache Größe
Testlauf 2: Bewertung 1(2)
Ergebnis (Anmerkung: Indexe gelöscht außer PK, UK, FK)
Star Schema
• Gute Performanz und gute Komprimierung
Data Vault
• Performanzverbesserung beim Lesen
Flat
• Beste Performanz in diesem Beispiel! Jedoch nicht unbedingt empfehlenswert
zukünftig so zu modellieren!
39Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
Testlauf 2: Bewertung 2(2)
• Testläufe sind nicht beliebig zu verallgemeinern, zeigen aber Vor/Nachteile auf. Es gibt auch
Ausreißer.
• Ergebnis stark abhängig von Anzahl Typ1 / Typ2 / Typ3 Abfragen
• Viele Typ3-Abfragen = gut für Spaltenorientierung und Flat-Tabellen
• Viele Typ1-Abfragen = geringer/kein Vorteil für Spaltenorientierung
• Testen, Testen, Testen bei Migration in eine spaltenorientierte In-Memory DB.
• Nicht immer Performanzvorteile
• Oft ist das Problem in der Anwendung und nicht in der DB
40Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
Gliederung
Motivation und Konzepte spaltenorientierter In-Memory DBs (IMDB)
OLAP/Cognos In-Memory Cubes und IMDB
Testszenario und –durchführung mit Oracle
Erkenntnisse/Folgerungen
Zusammenfassung
41Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
• Data Vault Hub-Tabelle H_CUSTOMER mit Hash-Keys
• Schmale Tabelle mit eindeutigen Hash-Keys und eindeutigen Business-Keys
• Tabellen mit solchen Daten (nicht nur bezogen auf Data Vault) sind
ungeeignet für Dictionary-Compression
Ausreißer Komprimierung am Beispiel Hub-Tabelle
Größe in GB Verfahren
9 GB Buffer Cache, Basic compression
9.7 GB (größer!) IMDB, FOR QUERY LOW compression
8.4 GB IMDB, FOR QUERY HIGH compression
42Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
Allgemeine Faustformel
The greater the ratio of
the total data accessed by a query to
the data actually processed by the query,
the greater the potential benefit from IMDB.
Quelle: Oracle White Paper: When to use Oracle IMDB
43Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
Anzahl selektierter Spalten
44Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
Beschreibung Gut geeignet für
Spalten InMemory
Weniger geeignet für
Spalten InMemory
Je mehr Spalten abgefragt
werden, umso geringer ist der
Vorteil des spaltenorientierten
Zugriffs. Bei der
Modellierung im BI Tool
darauf achten, dass nicht
automatisch select *
verwendet wird
SELECT cust_name FROM
customer;
SELECT * FROM customer;
Anzahl zurückgelieferter Zeilen
Beschreibung Gut geeignet für
Spalten InMemory
Weniger geeignet für
Spalten InMemory
Je mehr Zeilen zurückgeliefert
werden, umso geringer ist der
Vorteil des spaltenorientierten
Zugriffs, da die
Werteübergabe zum BI
Server und der
Berichtaufbau die
Performanz dominiert.
SELECT sum(revenue)
FROM sales;
SELECT revenue FROM
sales;
45Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
Komplexe SQL-Funktionen (Expressions)
Beschreibung Gut geeignet für
Spalten InMemory
Weniger geeignet für
Spalten InMemory
Rechenintensive SQL-
Funktionen sind weniger
geeignet, da die Performanz
für die Berechnung benötigt
wird.
SELECT I.id,
sum(S.revenue)
FROM Sales S, Items I
WHERE S.item_id = I.id
AND
I.name LIKE “%LED%TV”
GROUP BY I.id;
SELECT I.id,
sum(S.revenue)
FROM Sales S, Items I
WHERE S.item_id = I.id
AND
MyMatch(I.name,”LED
TV”)=1
GROUP BY I.id;
46Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
DWH Reference Architecture PoC
47Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
Backend
Frontend
Acquisition Layer (Input Layer)
Core Warehouse Layer (Storage Layer)
Information Mart Layer (Output Layer)
Cognos BI Cognos SPSS / R
Star Cognos Cubes
Data Vault
Keine FK, PKFlat
Use Case: Standardreporting
IMDB Cognos Dynamic Cubes (OLAP)
Skalierbar Skalierbar
Wenn IMDB-Cache voll, wird der
Buffercache verwendet
Nur Membercache und Aggregatecache
kritisch (alle Daten müssen reinpassen).
Faktendaten müssen nicht in den Cache
(Abhängigkeit von der DB-Performanz; IBM
empfiehlt Einsatz IMDB)
DML-Operationen verlangsamen Aktualität Kompletter Refresh: dauert täglich länger
mit größer werdender Datenmenge
(RealTime Differential Refresh möglich)
48Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
Use Case: Ad-hoc Reporting
49Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
• Cubes sind nicht für ad-hoc geeignet. OLAP Cubes setzen bekannte Abfragen
voraus, deren Daten zuvor festgelegt/implementiert werden müssen.
Use Case: Flexibilität und Virtualisierung
50Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
• Information / Analytics Mart Layer besteht nur aus Views auf Tabellen im
Core Warehouse Layer
• Einschätzung nach
Performanztests:
Vereinzelt machbar
mit guter Performanz
Gliederung
Motivation und Konzepte spaltenorientierter In-Memory DBs (IMDB)
OLAP/Cognos In-Memory Cubes und IMDB
Testszenario und –durchführung mit Oracle
Erkenntnisse/Folgerungen
Zusammenfassung
51Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
OLAP Cubes / Cognos Dynamic Cubes
Use Cases werden weniger
• Sinnvoll bei rechenintensiven KPIs (Aggregation, Expression Cache)
• Sinnvoll, wenn Abfragen komplett feststehen (reines Standardreporting)
• Keine weitere Lizenz nötig sobald Cognos BI lizensiert
• Cognos Dynamic Cubes: Nicht alle Daten müssen im Cache gehalten werden
(nur Member + Aggregate)
• Zugriff auf DB bei Daten, die nicht im Cognos Cache sind
• Performanz schwankt, je nach DB-Performanz
52Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
OLAP, OLTP und OLTAP
OLAP
OLTP
OLTAP –
gemischte
Workloads
53Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
• großes Potential für spaltenorientierte In-Memory DBs
• auch mit reinen Views als Data Marts denkbar („Datenvirtualisierung“)
• vereinzelt sinnvoll, z.B. große Stammdatentabellen
• große Herausforderung in der Vergangenheit
• Potential für spaltenorientierte In-Memory DBs
• aber: gegenläufiger Trend Microservices = „kleinere“ DBs
One size does not fit all
„In 10 years there will be no row
stores in the data warehouse world.“
Quelle: Stonebreaker, O'Reilly webcast http://radar.oreilly.com/2015/06/the-future-of-data-at-scale.html
54Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
Vielen Dank!
55Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
Daimler TSS GmbH
Wilhelm-Runge-Straße 11
89081 Ulm
Telefon +49 731 505-06
Fax +49 731 505-65 99
tss@daimler.com
Internet: www.daimler-tss.com
Daimler TSS GmbH
Sitz und Registergericht: Ulm, HRB-Nr.: 3844
Geschäftsführung: Dr. Stefan Eberhardt (Vorsitzender), Steffen Bäuerle
Jobportal
https://jobs.daimler-tss.de/PORTAL/jobs.html
z.B.:
In-Memory: IBM, Microsoft, Oracle, SAP 1(3)
SQL Server IBM DB2 BLU Oracle IMDB SAP HANA
Ersteinführung 07/2014 06/2013 04/2014 10/2010
Befehl zur
Erzeugung der
spaltenorienti
erten Tabelle
Create index … Create table … Eigenschaft
einer Tabelle
Create table …
56Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
In-Memory: IBM, Microsoft, Oracle, SAP 2(3)
SQL Server IBM DB2 BLU Oracle IMDB SAP HANA
Datenkomprim
ierung
Ja Ja Ja Ja
Data Skipping Ja Ja Ja Ja
Datenhaltung • Zeilen (In-
Memory
Organized
Tables)
• Spalten
(Columnstor
e Index)
• Zeilen und
Spalten
(Column-
organized
Tables oder
Schattentab
ellen)
• Zeilen und
Spalten
simultan
(BufferCache
für Zeilen)
• Zeilen und
Spalten
(Spalten
präferiert)
57Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
In-Memory: IBM, Microsoft, Oracle, SAP 3(3)
SQL Server IBM DB2 BLU Oracle IMDB SAP HANA
In-Memory
Analytics / R
Ja Nein Ja Ja
Persistenz
Columnstore
Ja Ja Nein Ja
Aggregate
Pushdown
Ja (ab 2016) Ja
Limitierung
durch RAM
Nein Nein Nein Nein (nicht
mehr)
SIMD Ja Ja Ja Ja
58Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
1 Technologie - 4 Hersteller – 4 Implementierungen
Spaltenorientierte
IM DB
RAM
(In-Memory)
Spalten-
orientierung
KomprimierungData Skipping
SIMD
59Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
SAP HANA
Aufhebung Trennung operative
(OLTP) und analytische (OLAP)
Workloads
60Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
Workload OLTP und OLAP
61Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
Quelle: http://www.vldb.org/pvldb/vol5/p061_jenskrueger_vldb2012.pdf
SAP Hana
62Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
Eine Tabelle ist
entweder
zeilenorientiert
oder
spaltenorientiert.Row Store
Column Store Delta L2 Delta L1
Select + DML
DML
Select
Logs Snapshots
IBM DB2 BLU
Seven Big Ideas
63Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
IBM DB2 BLU – 7 Big Ideas
64Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
Big Idea 1: Simplicity and ease of use
Big Idea 2: Column store
Big Idea 3: Adaptive compression
Big Idea 4: Parallel vector processing (SIMD)
Big Idea 5: Core-friendly parallelism
Big Idea 6: Scan-friendly memory caching
Big Idea 7: Data skipping
IBM DB2 BLU – Variante 1: OLAP
65Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
Eine Tabelle ist
entweder
zeilenorientiert
oder
spaltenorientiert.
IBM DB2 BLU – Variante 2: OLTAP (Schattentabellen)
66Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
Eine Tabelle ist
zeilenorientiert
und
spaltenorientiert.
MS SQL Server
Dedizierte In-Memory stores für
OLTP und OLAP
67Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
MS SQL Server – NonClustered Columnstore Index
68Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
Eine Tabelle
(„Index“) ist
zeilenorientiert
und
spaltenorientiert.
MS SQL Server – Clustered Columnstore Index
69Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
Eine Tabelle
(„Index“) ist
entweder
zeilenorientiert
oder
spaltenorientiert.
Oracle
Das duale Format in der Datenbank
70Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
Oracle – Buffer Cache (row) and IMDB (columnar)
71Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
Row Store Column Store
Logs Datendateien
Eine Tabelle ist
zeilenorientiert
und
spaltenorientiert.
Row Store
DML
Select
Cognos Cube Technologien
72Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
RDBMS vs OLAP vs IMDP
Datenmodell Abfrage-
Sprache
Interaktion Vorteile
RDBMS Star-Schema SQL Abfrage und
Antwort
Skalierbar
Flexibel
OLAP Cube MDX Interaktiv Performant
IMDB Star-Schema
Oder andere
relationale
Form
SQL Interaktiv Skalierbar
Flexibel
Performant
73Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
RDBMS (In-Memory) nähert sich OLAP Cubes an (interaktiv, schnell)
Selektivität von Join-Bedingungen
Beschreibung Gut geeignet für
Spalten InMemory
Weniger geeignet für
Spalten InMemory
Selektive Join-Bedingungen
nutzen den Vorteil des
schnellen Filterns von Daten.
SELECT
S.id, P.name, S.revenue
FROM
Sales S, Products P
WHERE
S.prod_id=P.id AND
P.type=‘Footwear’;
SELECT
Si.d, S.revenue, P.name
FROM
Sales S,Products P
WHERE
S.prod_id=P.id;
74Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
Anzahl der Tabellen im Join
Beschreibung Gut geeignet für
Spalten InMemory
Weniger geeignet für
Spalten InMemory
Je größer die Anzahl der
Tabellen im Join ist, umso
geringer ist der Vorteil, da die
Performanz für den Join
benötigt wird.
Aber typisch im Reporting!
SELECT <select list>
FROM Sales, Products,
Customers
WHERE <join condition>
SELECT <select list>
FROM Sales, Products,
Customers, Shipments,
Stores, Suppliers,
Warehouses
WHERE <Join Condition>
75Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
Selektivität von Spalten-Prädikaten
Beschreibung Gut geeignet für
Spalten InMemory
Weniger geeignet für
Spalten InMemory
Selektive Prädikate
nutzen den Vorteil des
schnellen Filterns von
Daten.
SELECT MEDIAN(revenue)
FROM Sales
WHERE revenue < 2;
Vorteilhaft, da weniger Zeilen
und dadurch weniger Daten für
die Median-Berechnung nötig
sind.
SELECT MEDIAN(revenue)
FROM Sales
WHERE revenue > 2;
76Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
OLTP - Mögliche Anwendungsfälle
Sinnvoll bei
• Größeren Stammdatentabellen
• Weniger Indexe
• Vermeidung ständiges Tuning dieser Tabellen
• Klassiker: Adress-Suche (siehe folgendes Beispiel)
Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
Klassiker: Adress-Suche
Kunden-Tabelle Adress-Tabelle
Kundennummer Ort
Vorname PLZ
Nachname Straße
Geburtsdatum Kundennummer
etc etc
Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
Herausforderung Suchabfrage: Müller AND Berlin
Buckenhofer: ca. 100
Müller: ca. 700.000
Berlin: ca. 3.5 Mio
Dornstadt: ca. 8.500
79Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
Buck
enho
fer
Berlin Müller Dornst
adt
Müller Berlin
21 12
? ?
1 2 = Reihenfolge der Abarbeitung / Joins
Kleine Tabelle zuerst
Lösungsansätze Adress-Suche
• Materialized Views
• Text Index
• Bitmap Join Index
• Index Backbone Join: Patent US8103658 (Lothar Flatz, Bjorn Kisbye Engsig)
http://www.google.com/patents/US8103658
• Spaltenorientierte In-Memory DB
80Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
Zusammenfassung Konzepte
81Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
Rohdaten Komprimierung Spalten Skipping SIMD

Weitere ähnliche Inhalte

Was ist angesagt?

SAP HANA, Power Pivot, SQL Server – In-memory-Technologien im Vergleich
SAP HANA, Power Pivot, SQL Server – In-memory-Technologien im VergleichSAP HANA, Power Pivot, SQL Server – In-memory-Technologien im Vergleich
SAP HANA, Power Pivot, SQL Server – In-memory-Technologien im VergleichMarcel Franke
 
In Memory-Technologien im Vergleich - SQL Server Konferenz 2015
In Memory-Technologien im Vergleich - SQL Server Konferenz 2015In Memory-Technologien im Vergleich - SQL Server Konferenz 2015
In Memory-Technologien im Vergleich - SQL Server Konferenz 2015Marcel Franke
 
Wie modelliere ich mein Core DWH?
Wie modelliere ich mein Core DWH?Wie modelliere ich mein Core DWH?
Wie modelliere ich mein Core DWH?Trivadis
 
Schulug Grundlagen SAP BI / BW
Schulug Grundlagen SAP BI / BWSchulug Grundlagen SAP BI / BW
Schulug Grundlagen SAP BI / BWA. LE
 
Data Warehouse (DWH) with MySQL
Data Warehouse (DWH) with MySQLData Warehouse (DWH) with MySQL
Data Warehouse (DWH) with MySQLFromDual GmbH
 
Analytic powerhouse parallel data warehouse und r
Analytic powerhouse parallel data warehouse und rAnalytic powerhouse parallel data warehouse und r
Analytic powerhouse parallel data warehouse und rMarcel Franke
 
Geänderte Anforderungen an eine Data-Warehouse-Landschaft
Geänderte Anforderungen an eine Data-Warehouse-LandschaftGeänderte Anforderungen an eine Data-Warehouse-Landschaft
Geänderte Anforderungen an eine Data-Warehouse-LandschaftISR Information Products AG
 
Der HANA Effekt - Neue Möglichkeiten durch SAP's In-Memory Plattform
Der HANA Effekt - Neue Möglichkeiten durch SAP's In-Memory PlattformDer HANA Effekt - Neue Möglichkeiten durch SAP's In-Memory Plattform
Der HANA Effekt - Neue Möglichkeiten durch SAP's In-Memory PlattformDetlev Sandel
 
Data Quadrant - Daten Management Methode
Data Quadrant - Daten Management MethodeData Quadrant - Daten Management Methode
Data Quadrant - Daten Management MethodeTorsten Glunde
 
DXC Technology - THRIVE Blog: Das nächste BI-Level
DXC Technology - THRIVE Blog: Das nächste BI-LevelDXC Technology - THRIVE Blog: Das nächste BI-Level
DXC Technology - THRIVE Blog: Das nächste BI-LevelDaniel Eiduzzis
 
2016 pcc presse_01_dcc_ferro_archivierung_ver04
2016 pcc presse_01_dcc_ferro_archivierung_ver042016 pcc presse_01_dcc_ferro_archivierung_ver04
2016 pcc presse_01_dcc_ferro_archivierung_ver04Ulrich Schmidt
 
Zeit für migration auf SAP HANA
Zeit für migration auf SAP HANAZeit für migration auf SAP HANA
Zeit für migration auf SAP HANABCC_Group
 
Performanceaspekte im Oracle DWH
Performanceaspekte im Oracle DWHPerformanceaspekte im Oracle DWH
Performanceaspekte im Oracle DWHTrivadis
 
Webinarunterlagen: Predictive Maintenance mit Automated Analytics
Webinarunterlagen: Predictive Maintenance mit Automated AnalyticsWebinarunterlagen: Predictive Maintenance mit Automated Analytics
Webinarunterlagen: Predictive Maintenance mit Automated AnalyticsCONOGY GmbH
 
Die generierte Zeitmaschine - Historisierung auf Knopfdruck
Die generierte Zeitmaschine - Historisierung auf KnopfdruckDie generierte Zeitmaschine - Historisierung auf Knopfdruck
Die generierte Zeitmaschine - Historisierung auf KnopfdruckTrivadis
 
Webinar: S/4HANA Extraktion: Änderungen im Vergleich zur klassischen Extraktion
Webinar: S/4HANA Extraktion: Änderungen im Vergleich zur klassischen ExtraktionWebinar: S/4HANA Extraktion: Änderungen im Vergleich zur klassischen Extraktion
Webinar: S/4HANA Extraktion: Änderungen im Vergleich zur klassischen ExtraktionCONOGY GmbH
 

Was ist angesagt? (20)

Agile Data Warehousing mit SAP BW/4HANA
Agile Data Warehousing mit SAP BW/4HANAAgile Data Warehousing mit SAP BW/4HANA
Agile Data Warehousing mit SAP BW/4HANA
 
SAP HANA, Power Pivot, SQL Server – In-memory-Technologien im Vergleich
SAP HANA, Power Pivot, SQL Server – In-memory-Technologien im VergleichSAP HANA, Power Pivot, SQL Server – In-memory-Technologien im Vergleich
SAP HANA, Power Pivot, SQL Server – In-memory-Technologien im Vergleich
 
Moderne & flexible Architektur mit BW/4HANA
Moderne & flexible Architektur mit BW/4HANAModerne & flexible Architektur mit BW/4HANA
Moderne & flexible Architektur mit BW/4HANA
 
SAP Einführung_1
SAP Einführung_1SAP Einführung_1
SAP Einführung_1
 
In Memory-Technologien im Vergleich - SQL Server Konferenz 2015
In Memory-Technologien im Vergleich - SQL Server Konferenz 2015In Memory-Technologien im Vergleich - SQL Server Konferenz 2015
In Memory-Technologien im Vergleich - SQL Server Konferenz 2015
 
Wie modelliere ich mein Core DWH?
Wie modelliere ich mein Core DWH?Wie modelliere ich mein Core DWH?
Wie modelliere ich mein Core DWH?
 
Schulug Grundlagen SAP BI / BW
Schulug Grundlagen SAP BI / BWSchulug Grundlagen SAP BI / BW
Schulug Grundlagen SAP BI / BW
 
Data Warehouse (DWH) with MySQL
Data Warehouse (DWH) with MySQLData Warehouse (DWH) with MySQL
Data Warehouse (DWH) with MySQL
 
Analytic powerhouse parallel data warehouse und r
Analytic powerhouse parallel data warehouse und rAnalytic powerhouse parallel data warehouse und r
Analytic powerhouse parallel data warehouse und r
 
Geänderte Anforderungen an eine Data-Warehouse-Landschaft
Geänderte Anforderungen an eine Data-Warehouse-LandschaftGeänderte Anforderungen an eine Data-Warehouse-Landschaft
Geänderte Anforderungen an eine Data-Warehouse-Landschaft
 
Der HANA Effekt - Neue Möglichkeiten durch SAP's In-Memory Plattform
Der HANA Effekt - Neue Möglichkeiten durch SAP's In-Memory PlattformDer HANA Effekt - Neue Möglichkeiten durch SAP's In-Memory Plattform
Der HANA Effekt - Neue Möglichkeiten durch SAP's In-Memory Plattform
 
Data Quadrant - Daten Management Methode
Data Quadrant - Daten Management MethodeData Quadrant - Daten Management Methode
Data Quadrant - Daten Management Methode
 
DXC Technology - THRIVE Blog: Das nächste BI-Level
DXC Technology - THRIVE Blog: Das nächste BI-LevelDXC Technology - THRIVE Blog: Das nächste BI-Level
DXC Technology - THRIVE Blog: Das nächste BI-Level
 
2016 pcc presse_01_dcc_ferro_archivierung_ver04
2016 pcc presse_01_dcc_ferro_archivierung_ver042016 pcc presse_01_dcc_ferro_archivierung_ver04
2016 pcc presse_01_dcc_ferro_archivierung_ver04
 
Zeit für migration auf SAP HANA
Zeit für migration auf SAP HANAZeit für migration auf SAP HANA
Zeit für migration auf SAP HANA
 
Performanceaspekte im Oracle DWH
Performanceaspekte im Oracle DWHPerformanceaspekte im Oracle DWH
Performanceaspekte im Oracle DWH
 
SAP BW im Umbruch
SAP BW im UmbruchSAP BW im Umbruch
SAP BW im Umbruch
 
Webinarunterlagen: Predictive Maintenance mit Automated Analytics
Webinarunterlagen: Predictive Maintenance mit Automated AnalyticsWebinarunterlagen: Predictive Maintenance mit Automated Analytics
Webinarunterlagen: Predictive Maintenance mit Automated Analytics
 
Die generierte Zeitmaschine - Historisierung auf Knopfdruck
Die generierte Zeitmaschine - Historisierung auf KnopfdruckDie generierte Zeitmaschine - Historisierung auf Knopfdruck
Die generierte Zeitmaschine - Historisierung auf Knopfdruck
 
Webinar: S/4HANA Extraktion: Änderungen im Vergleich zur klassischen Extraktion
Webinar: S/4HANA Extraktion: Änderungen im Vergleich zur klassischen ExtraktionWebinar: S/4HANA Extraktion: Änderungen im Vergleich zur klassischen Extraktion
Webinar: S/4HANA Extraktion: Änderungen im Vergleich zur klassischen Extraktion
 

Andere mochten auch

Part 1 - Data Warehousing Lecture at BW Cooperative State University (DHBW)
Part 1 - Data Warehousing Lecture at BW Cooperative State University (DHBW)Part 1 - Data Warehousing Lecture at BW Cooperative State University (DHBW)
Part 1 - Data Warehousing Lecture at BW Cooperative State University (DHBW)Andreas Buckenhofer
 
Fehlerbehandlung mittels DML Error Logging
Fehlerbehandlung mittels DML Error LoggingFehlerbehandlung mittels DML Error Logging
Fehlerbehandlung mittels DML Error LoggingAndreas Buckenhofer
 
СтройПолимер - утепление ппу и гидроизоляция полимочевиной
СтройПолимер - утепление ппу и гидроизоляция полимочевинойСтройПолимер - утепление ппу и гидроизоляция полимочевиной
СтройПолимер - утепление ппу и гидроизоляция полимочевинойСтрой Полимер
 
Presentation 1
Presentation 1Presentation 1
Presentation 1NatashaArk
 
Archetypes_Modified for Business College_High Res
Archetypes_Modified for Business College_High ResArchetypes_Modified for Business College_High Res
Archetypes_Modified for Business College_High ResBrittney Fenimore
 
Preclinical studies
Preclinical studiesPreclinical studies
Preclinical studiesAzeemsales
 
Pasar Seni portfolio
Pasar Seni portfolioPasar Seni portfolio
Pasar Seni portfolioErik Nadir
 
Preclinical studies
Preclinical studiesPreclinical studies
Preclinical studiesAzeemsales
 
Part 4 - Data Warehousing Lecture at BW Cooperative State University (DHBW)
Part 4 - Data Warehousing Lecture at BW Cooperative State University (DHBW)Part 4 - Data Warehousing Lecture at BW Cooperative State University (DHBW)
Part 4 - Data Warehousing Lecture at BW Cooperative State University (DHBW)Andreas Buckenhofer
 
Part 3 - Data Warehousing Lecture at BW Cooperative State University (DHBW)
Part 3 - Data Warehousing Lecture at BW Cooperative State University (DHBW)Part 3 - Data Warehousing Lecture at BW Cooperative State University (DHBW)
Part 3 - Data Warehousing Lecture at BW Cooperative State University (DHBW)Andreas Buckenhofer
 
Part 2 - Data Warehousing Lecture at BW Cooperative State University (DHBW)
Part 2 - Data Warehousing Lecture at BW Cooperative State University (DHBW)Part 2 - Data Warehousing Lecture at BW Cooperative State University (DHBW)
Part 2 - Data Warehousing Lecture at BW Cooperative State University (DHBW)Andreas Buckenhofer
 
Wide-column Stores für Architekten (HBase, Cassandra)
Wide-column Stores für Architekten (HBase, Cassandra)Wide-column Stores für Architekten (HBase, Cassandra)
Wide-column Stores für Architekten (HBase, Cassandra)Andreas Buckenhofer
 

Andere mochten auch (17)

Part 1 - Data Warehousing Lecture at BW Cooperative State University (DHBW)
Part 1 - Data Warehousing Lecture at BW Cooperative State University (DHBW)Part 1 - Data Warehousing Lecture at BW Cooperative State University (DHBW)
Part 1 - Data Warehousing Lecture at BW Cooperative State University (DHBW)
 
Fehlerbehandlung mittels DML Error Logging
Fehlerbehandlung mittels DML Error LoggingFehlerbehandlung mittels DML Error Logging
Fehlerbehandlung mittels DML Error Logging
 
СтройПолимер - утепление ппу и гидроизоляция полимочевиной
СтройПолимер - утепление ппу и гидроизоляция полимочевинойСтройПолимер - утепление ппу и гидроизоляция полимочевиной
СтройПолимер - утепление ппу и гидроизоляция полимочевиной
 
Строй Полимер
Строй ПолимерСтрой Полимер
Строй Полимер
 
Draughtsman.
Draughtsman.Draughtsman.
Draughtsman.
 
Presentation 1
Presentation 1Presentation 1
Presentation 1
 
How to Use Evernote
How to Use  EvernoteHow to Use  Evernote
How to Use Evernote
 
La tecnologia
La tecnologiaLa tecnologia
La tecnologia
 
Archetypes_Modified for Business College_High Res
Archetypes_Modified for Business College_High ResArchetypes_Modified for Business College_High Res
Archetypes_Modified for Business College_High Res
 
How To Use Mad Mimi
How To Use Mad MimiHow To Use Mad Mimi
How To Use Mad Mimi
 
Preclinical studies
Preclinical studiesPreclinical studies
Preclinical studies
 
Pasar Seni portfolio
Pasar Seni portfolioPasar Seni portfolio
Pasar Seni portfolio
 
Preclinical studies
Preclinical studiesPreclinical studies
Preclinical studies
 
Part 4 - Data Warehousing Lecture at BW Cooperative State University (DHBW)
Part 4 - Data Warehousing Lecture at BW Cooperative State University (DHBW)Part 4 - Data Warehousing Lecture at BW Cooperative State University (DHBW)
Part 4 - Data Warehousing Lecture at BW Cooperative State University (DHBW)
 
Part 3 - Data Warehousing Lecture at BW Cooperative State University (DHBW)
Part 3 - Data Warehousing Lecture at BW Cooperative State University (DHBW)Part 3 - Data Warehousing Lecture at BW Cooperative State University (DHBW)
Part 3 - Data Warehousing Lecture at BW Cooperative State University (DHBW)
 
Part 2 - Data Warehousing Lecture at BW Cooperative State University (DHBW)
Part 2 - Data Warehousing Lecture at BW Cooperative State University (DHBW)Part 2 - Data Warehousing Lecture at BW Cooperative State University (DHBW)
Part 2 - Data Warehousing Lecture at BW Cooperative State University (DHBW)
 
Wide-column Stores für Architekten (HBase, Cassandra)
Wide-column Stores für Architekten (HBase, Cassandra)Wide-column Stores für Architekten (HBase, Cassandra)
Wide-column Stores für Architekten (HBase, Cassandra)
 

Ähnlich wie Caching: In-Memory Column Store oder im BI Server

SAP IdM Wartungsende 2027... und was nun?
SAP IdM Wartungsende 2027... und was nun?SAP IdM Wartungsende 2027... und was nun?
SAP IdM Wartungsende 2027... und was nun?IBsolution GmbH
 
Michael Wittig – IT-Tage 2015 – Datenbanken und Big Data: Datenbank am Limit ...
Michael Wittig – IT-Tage 2015 – Datenbanken und Big Data: Datenbank am Limit ...Michael Wittig – IT-Tage 2015 – Datenbanken und Big Data: Datenbank am Limit ...
Michael Wittig – IT-Tage 2015 – Datenbanken und Big Data: Datenbank am Limit ...Informatik Aktuell
 
Webinar: Reporting mit SAP S4/HANA
Webinar: Reporting mit SAP S4/HANAWebinar: Reporting mit SAP S4/HANA
Webinar: Reporting mit SAP S4/HANACONOGY GmbH
 
Agile Methoden als Erfolgsfaktor für BI und Big Data Projekte
Agile Methoden als Erfolgsfaktor für BI und Big Data ProjekteAgile Methoden als Erfolgsfaktor für BI und Big Data Projekte
Agile Methoden als Erfolgsfaktor für BI und Big Data Projekteinovex GmbH
 
Strategisches & kanalübergreifendes KPI Framework
Strategisches & kanalübergreifendes KPI FrameworkStrategisches & kanalübergreifendes KPI Framework
Strategisches & kanalübergreifendes KPI FrameworkNamics – A Merkle Company
 
Market Research Meets Business Intelligence
Market Research Meets Business IntelligenceMarket Research Meets Business Intelligence
Market Research Meets Business IntelligenceDataLion
 
Reporting & Business Intelligence
Reporting & Business IntelligenceReporting & Business Intelligence
Reporting & Business IntelligenceInnovabee GmbH
 
Roadshow: What's new in Microsoft SQL Server 2016
Roadshow: What's new in Microsoft SQL Server 2016Roadshow: What's new in Microsoft SQL Server 2016
Roadshow: What's new in Microsoft SQL Server 2016Digicomp Academy AG
 
Agile Methoden als Erfolgsfaktor in BI- und Big Data Projekten
Agile Methoden als Erfolgsfaktor in BI- und Big Data ProjektenAgile Methoden als Erfolgsfaktor in BI- und Big Data Projekten
Agile Methoden als Erfolgsfaktor in BI- und Big Data Projekteninovex GmbH
 
Modern Web Development 2019
Modern Web Development 2019Modern Web Development 2019
Modern Web Development 2019Intelliact AG
 
SAP Cloud for Analytics Überblick
SAP Cloud for Analytics ÜberblickSAP Cloud for Analytics Überblick
SAP Cloud for Analytics ÜberblickMohamed Abdel Hadi
 
Google Analytics Konferenz 2016: Google Analytics Premium im Überblick (Micha...
Google Analytics Konferenz 2016: Google Analytics Premium im Überblick (Micha...Google Analytics Konferenz 2016: Google Analytics Premium im Überblick (Micha...
Google Analytics Konferenz 2016: Google Analytics Premium im Überblick (Micha...e-dialog GmbH
 
Unic Analytics-Breakfast - Webanalyse bei Thieme
Unic Analytics-Breakfast - Webanalyse bei ThiemeUnic Analytics-Breakfast - Webanalyse bei Thieme
Unic Analytics-Breakfast - Webanalyse bei ThiemeUnic
 
Data Mesh: "Daten als Produkt" weitergedacht
Data Mesh: "Daten als Produkt" weitergedachtData Mesh: "Daten als Produkt" weitergedacht
Data Mesh: "Daten als Produkt" weitergedachtIBsolution GmbH
 
Data lake vs Data Warehouse: Hybrid Architectures
Data lake vs Data Warehouse: Hybrid ArchitecturesData lake vs Data Warehouse: Hybrid Architectures
Data lake vs Data Warehouse: Hybrid ArchitecturesComsysto Reply GmbH
 
Erfahrungsbericht einer erfolgreichen SAP BW Bridge Implementierung
 Erfahrungsbericht einer erfolgreichen SAP BW Bridge Implementierung Erfahrungsbericht einer erfolgreichen SAP BW Bridge Implementierung
Erfahrungsbericht einer erfolgreichen SAP BW Bridge ImplementierungIBsolution GmbH
 

Ähnlich wie Caching: In-Memory Column Store oder im BI Server (20)

Modellierung integrierter SAP System Landschaften
Modellierung integrierter SAP System LandschaftenModellierung integrierter SAP System Landschaften
Modellierung integrierter SAP System Landschaften
 
SAP IdM Wartungsende 2027... und was nun?
SAP IdM Wartungsende 2027... und was nun?SAP IdM Wartungsende 2027... und was nun?
SAP IdM Wartungsende 2027... und was nun?
 
Michael Wittig – IT-Tage 2015 – Datenbanken und Big Data: Datenbank am Limit ...
Michael Wittig – IT-Tage 2015 – Datenbanken und Big Data: Datenbank am Limit ...Michael Wittig – IT-Tage 2015 – Datenbanken und Big Data: Datenbank am Limit ...
Michael Wittig – IT-Tage 2015 – Datenbanken und Big Data: Datenbank am Limit ...
 
Webinar: Reporting mit SAP S4/HANA
Webinar: Reporting mit SAP S4/HANAWebinar: Reporting mit SAP S4/HANA
Webinar: Reporting mit SAP S4/HANA
 
Agile Methoden als Erfolgsfaktor für BI und Big Data Projekte
Agile Methoden als Erfolgsfaktor für BI und Big Data ProjekteAgile Methoden als Erfolgsfaktor für BI und Big Data Projekte
Agile Methoden als Erfolgsfaktor für BI und Big Data Projekte
 
Strategisches & kanalübergreifendes KPI Framework
Strategisches & kanalübergreifendes KPI FrameworkStrategisches & kanalübergreifendes KPI Framework
Strategisches & kanalübergreifendes KPI Framework
 
Market Research Meets Business Intelligence
Market Research Meets Business IntelligenceMarket Research Meets Business Intelligence
Market Research Meets Business Intelligence
 
Kitting in SAP
Kitting in SAPKitting in SAP
Kitting in SAP
 
Reporting & Business Intelligence
Reporting & Business IntelligenceReporting & Business Intelligence
Reporting & Business Intelligence
 
Roadshow: What's new in Microsoft SQL Server 2016
Roadshow: What's new in Microsoft SQL Server 2016Roadshow: What's new in Microsoft SQL Server 2016
Roadshow: What's new in Microsoft SQL Server 2016
 
Agile Methoden als Erfolgsfaktor in BI- und Big Data Projekten
Agile Methoden als Erfolgsfaktor in BI- und Big Data ProjektenAgile Methoden als Erfolgsfaktor in BI- und Big Data Projekten
Agile Methoden als Erfolgsfaktor in BI- und Big Data Projekten
 
Modern Web Development 2019
Modern Web Development 2019Modern Web Development 2019
Modern Web Development 2019
 
SAP Cloud for Analytics Überblick
SAP Cloud for Analytics ÜberblickSAP Cloud for Analytics Überblick
SAP Cloud for Analytics Überblick
 
Google Analytics Konferenz 2016: Google Analytics Premium im Überblick (Micha...
Google Analytics Konferenz 2016: Google Analytics Premium im Überblick (Micha...Google Analytics Konferenz 2016: Google Analytics Premium im Überblick (Micha...
Google Analytics Konferenz 2016: Google Analytics Premium im Überblick (Micha...
 
Unic Analytics-Breakfast - Webanalyse bei Thieme
Unic Analytics-Breakfast - Webanalyse bei ThiemeUnic Analytics-Breakfast - Webanalyse bei Thieme
Unic Analytics-Breakfast - Webanalyse bei Thieme
 
Data Mesh: "Daten als Produkt" weitergedacht
Data Mesh: "Daten als Produkt" weitergedachtData Mesh: "Daten als Produkt" weitergedacht
Data Mesh: "Daten als Produkt" weitergedacht
 
Data lake vs Data Warehouse: Hybrid Architectures
Data lake vs Data Warehouse: Hybrid ArchitecturesData lake vs Data Warehouse: Hybrid Architectures
Data lake vs Data Warehouse: Hybrid Architectures
 
Process Monitoring mit Camunda
Process Monitoring mit Camunda Process Monitoring mit Camunda
Process Monitoring mit Camunda
 
Swisscom runs SAP Lumira
Swisscom runs SAP LumiraSwisscom runs SAP Lumira
Swisscom runs SAP Lumira
 
Erfahrungsbericht einer erfolgreichen SAP BW Bridge Implementierung
 Erfahrungsbericht einer erfolgreichen SAP BW Bridge Implementierung Erfahrungsbericht einer erfolgreichen SAP BW Bridge Implementierung
Erfahrungsbericht einer erfolgreichen SAP BW Bridge Implementierung
 

Caching: In-Memory Column Store oder im BI Server

  • 1. Caching: In-Memory Column Store oder BI Server? Andreas Buckenhofer / Analytics / Daimler TSS 1Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
  • 2. Zur Person Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015 Andreas Buckenhofer Senior DB Professional E-Mail: andreas.buckenhofer@daimler.com Seit 2009 bei Daimler TSS im Fachgebiet Data Warehouse & Data Integration (Cognos/Informatica) – Department Analytics Schwerpunkt DWH/CRM seit 1998 als • Entwickler • Administrator • Berater
  • 3. Daimler TSS IT-Exzellenz: Ganzheitlich, innovativ, nah Wir sind Spezialist und strategischer Business-Partner für innovative IT-Lösungen im Daimler-Konzern. Als 100%ige Daimler-Tochter leben wir die Kultur der Exzellenz mit dem Anspruch der Innovations- und Technologieführerschaft. Mit herausragender Technologie- und Methodenkompetenz verstehen wir uns als kompetenter Anbieter von wettbewerbsdifferenzierenden IT-Dienstleistungen. Unsere Geschäftspartner im Konzern begleiten wir lösungsorientiert im Rahmen eines ganzheitlichen Ansatzes. Wir denken und arbeiten partnerschaftlich und agil, sind technologieneutral und hersteller-unabhängig. Das macht uns frei für maßgeschneiderte End-to-End-Lösungen mit hoher Effektivität. Die Aufnahme wichtiger Trends und Impulse von außen zusammen mit dem tiefen Verständnis der Daimler-Geschäftsprozesse garantieren eine umfassende Sicht und überzeugenden Mehrwert. Unser Anspruch ist es, die Geschäftsprozesse, die Wettbewerbsfähigkeit und die Innovations-kraft von Daimler mit marktführenden IT-Lösungen voranzutreiben. Als attraktiver Arbeitgeber wollen wir mit Menschen arbeiten, die durch unser Unternehmen und das menschlich geprägte Umfeld inspiriert sind ihr Bestes zu geben und mit uns ihr volles Potential zu entwickeln. 3Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
  • 4. Standorte Daimler TSS 4Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
  • 5. 5Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015 Ganzheitliche Betreuung (Erhebung, Auswertung, Visualisierung und Interpretation), unabhängige Beratung und Optimierung der Geschäftsabläufe. Von klassischer BI bis hin zu predictive und prescriptive Analytics bieten wir Leistungen unter Berücksichtigung der Datensicherheit. Dabei verknüpfen wir fachliche Erfahrung und IT-Know- how im Daimler-Kontext mit dem Blick fürs große Ganze. Analytics. Das große Ganze verstehen, um Daten nutzbar machen.
  • 6. Gliederung Motivation und Konzepte spaltenorientierter In-Memory DBs (IMDB) OLAP/Cognos In-Memory Cubes und IMDB Testszenario und –durchführung mit Oracle Erkenntnisse/Folgerungen Zusammenfassung 6Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
  • 7. DWH Reference Architecture 7Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015 Backend Frontend Acquisition Layer (Input Layer) Core Warehouse Layer (Storage Layer) Information Mart Layer (Output Layer) Ad-hoc Reporting Standard Reporting Dash- boards Predictive Analytics Prescriptive Analytics Star OLAP 3NF Data Vault Keine FK, PKFlat
  • 8. DWH Reference Architecture PoC 8Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015 Backend Frontend Acquisition Layer (Input Layer) Core Warehouse Layer (Storage Layer) Information Mart Layer (Output Layer) Cognos BI Cognos SPSS / R Star Cognos Cubes Data Vault Keine FK, PKFlat
  • 9. Information und Analytics Mart Layer Ausgangssituation/Fragestellung im Projekt: • Modellierung: Relationales Starschema mit In-Memory DB oder weiterhin Nutzung von Cubes? • Analysen / Reporting direkt auf Core Warehouse Layer möglich (= performant)? 9Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
  • 10. In-Memory … nicht neu Datenbank Buffer Cache Datenspeicherung auf RAM-Disk Datenspeicherung auf SSD OLAP In-Memory Cubes Datenanalyse mit Qlikview, TM1, u.a. 10Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
  • 11. In-Memory - Cache Latenz 11Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015 Quelle: Brendan Gregg: “Systems Performance: Enterprise and the Cloud” Flüchtig Nicht flüchtig „In-Memory“ Festplatte
  • 12. Datenverteilung, z.B. partitionierte Umsatzdaten In-Memory – Speicherhierarchien Kosten vs Nutzen 12Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015 Festplatte SSD RAM 1/2015 2/2015 … 1/2013 … 12/2014 <= 12/2012 Wenig genutzte Daten Häufig genutzte Daten
  • 13. Spaltenorientierung … nicht ganz so neu 13Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015 1993 1995 > 2004 KDB Sybase IQ (heute SAP) Relational: Monet C-Store Vertica Greenplum (Nicht-Relational: BigTable HBASE Cassandra)
  • 14. Spaltenorientierung: Speicherung Zeilen- vs Spalten 14Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015 Id Name Geburtsdatum 1 Maier 1967 2 Schmitt 1980 3 Maier 1993 4 Berger 1980 5 Müller 1967 6 Maier 1970 7 Müller 1980 Spaltenorientierte Speicherung 1, Maier, 1967, 2 Schmitt, 1980, 3 Maier, 1993, 4, Berger, 1980, 5 Müller, 1967, 6, Maier, 1970, … 1, 2, 3, 4, 5, 6, 7, … Maier, Schmitt, Maier, Berger, Müller, Maier, Müller, … Zeilenorientierte Speicherung Block / Page / In-Memory Unit
  • 15. Zeilen- vs Spaltenorientierung: Vor und Nachteile 15Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015 Zeilenorientierung Spaltenorientierung Vorteile • Datensatz wird zusammen abgespeichert • Einfache/Performante Updates und Deletes • Select auf eine oder mehrere Spalten liest keine unnötigen Spalten • Spalte kann als Index verstanden werden Nachteile • Es wird der gesamte Datensatz gelesen – auch wenn nur einzelne Spalten benötigt werden • Nach der Selektion muss ein Datensatz aus den einzelnen Spalten rekonstruiert werden • Inperformante Datenänderungen • Cache-Aufbau
  • 16. Vorteil: Komprimierungsverfahren je nach Datentyp 16Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015 Dictionary Encoding • Zentrale Wörterbücher zur Kodierung. Run-length Encoding • Mehrfache Wiederholungen werden durch ein Anzahl-Attribut kodiert. Null-Suppression • Unterdrückung von Nullwerten. Bit-Vector • Kodierung von 0 bzw1 für eine vorhandene bzw. nicht vorhandene Ausprägung.
  • 17. Vorteil: Data Skipping (Column Store Storage Index) 17Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015 • Automatische Registrierung minimaler und maximaler Werte in einer IMU • „Interner Index“: Ignorieren/Überlesen nicht relevanter Pages Cache mit InMemory Units (IMU) 1,9,20,34,4,100,…Min: 1 Max: 100 22,1,19,34,4,10,…Min: 1 Max: 34 SQL-Abfrage SELECT … FROM … WHERE spalte > 50 72,60,60,61,60,69,…Min: 60 Max: 72 32,44,30,50,50,…Min: 30 Max: 50 skip
  • 18. Vorteil: SIMD-Prozessoren (Single Instruction Multiple Data) 18Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015 CPU Vector Register z.B. where x=12 1 12 3 12 5 5 12 12 12 12 12 12 Cache (RAM) 1 12 3 12 5 5 12 12
  • 19. Zusammenfassung Auswahl Konzepte Spaltenorientierte IM DB RAM (In-Memory) Spalten- orientierung KomprimierungData Skipping SIMD 19Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
  • 20. Gliederung Motivation und Konzepte spaltenorientierter In-Memory DBs (IMDB) OLAP/Cognos In-Memory Cubes und IMDB Testszenario und –durchführung mit Oracle Erkenntnisse/Folgerungen Zusammenfassung 20Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
  • 21. OLAP Cubes Multidimensionales Format 21Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
  • 22. OLAP Cubes • Multi-dimensionales Datenarray „Würfel“ • Fakten, Dimensionen, Hierarchien, Aggregate • Eine Struktur ohne Joins • Ziel: schnell / interaktiv • KPIs (Kennzahlen) nötig + Dimensionen • Typisch für BI Reporting, aber auch inflexibel • Beladung meist mittels Batch 22Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015 Kunde Produkt KPI Umsatz
  • 23. Cognos Dynamic Cubes • In-Memory OLAP-Würfel, die Daten direkt aus relationalen DBs laden • Voraussetzung: Star-Schema oder Snowfalke-Schema (Views möglich, aber nicht empfohlen) • In Cognos BI integriert– keine seperate Installation oder Lizenz • Verschiedene Caches 23Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
  • 24. Cognos Dynamic Cubes – Cache Hierarchie 24Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
  • 25. Cognos Dynamic Cubes – Cache Hierarchie 25Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015 Start Cube • Member Cache wird komplett geladen • Aggregate Cache wird komplett geladen Reporting/Daten-Analyse • Weitere Caches werden nach Bedarf geladen • Sobald Cache voll ist, werden Daten aus DB gelesen
  • 26. Oracle Das duale Format in der Datenbank 26Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
  • 27. Oracle – Buffer Cache (row) and IMDB (columnar) 27Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015 Quelle: Guy Harrison: “Next Generation Databases”
  • 28. Gliederung Motivation und Konzepte spaltenorientierter In-Memory DBs (IMDB) OLAP/Cognos In-Memory Cubes und IMDB Testszenario und –durchführung mit Oracle Erkenntnisse/Folgerungen Zusammenfassung 28Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
  • 29. Testszenario mit Oracle DB Daten: 60GB komprimiert sowie RAM: 60GB • Testlauf 1: Zeilenorientierte Speicherung „Baseline“ mit Basic compression • Testlauf 2: Spaltenorientierte Speicherung „Vergleich“ mit Low compression • Verschiedene parallele Abfragen (simulieren User-Parallität) • 3 Datenmodelle 29Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
  • 30. Testzenario – 3 Datenmodelle 30Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015 Data Vault Strukturierte Modellierung für das Core Warehouse Star Fakten und Dimensionen typisch für Data Mart Layer Flat Flache Tabelle = MeinExcel
  • 31. Testzenario – 3 Datenmodelle (Auszug Datenmodell) 31Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015 Data Vault Star Flat
  • 32. Testszenario – Abfragen (Beschränkung auf Standard- Abfragen) Typ 1 •Simuliert Report-Einstieg •Keine where-Bedingung, Aggregation auf höchster Ebene Typ 2 •Simuliert Drill Down von Typ 1 •1-2 where-Bedingungen Typ 3 •Simuliert Drill Down von Typ 2 •3-4 where-Bedingungen 32Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015 4 parallele Sessions führen Abfragen aus in der Reihenfolge Typ1->Typ2->Typ3->Typ3->Typ2->Typ3->Typ3 Verhältnis Häufigkeit Typ1:Typ2:Typ3 = 1:2:4
  • 33. Testszenario mit Oracle DB Daten: 60GB komprimiert sowie RAM: 60GB • Testlauf 1: Zeilenorientierte Speicherung „Baseline“ mit Basic compression • Testlauf 2: Spaltenorientierte Speicherung „Vergleich“ mit Low compression • Verschiedene parallele Abfragen (simulieren User-Parallität) • 3 Datenmodelle 33Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
  • 34. 0 10 20 30 40 50 60 70 Data Vault Star Flat Buffer Cache Laufzeit (sek) Buffer Cache Größe (GB) Testlauf 1: zeilenorientierte Speicherung, Cache 34Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015 3 1 1 2 32
  • 35. Testlauf 1: Bewertung Ergebnis bestätigt die Erwartungen: Star Schema performant für Reporting Star Schema (= empfohlene Modellierung für Standardreports im Data Mart) • Klar beste Performanz und sehr gute Komprimierung (kleine Indexe) Data Vault (eine mögliche Modellierung im Core Warehouse Layer) • Schlechte Leseperformanz, da für Beladung optimiert • Hash Keys verwendet, daher relativ großer Speicherverbrauch Flat • Hohe Datenmenge aufgrund großer Redundanz 35Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
  • 36. Testszenario mit Oracle DB Daten: 60GB komprimiert sowie RAM: 60GB • Testlauf 1: Zeilenorientierte Speicherung „Baseline“ mit Basic compression • Testlauf 2: Spaltenorientierte Speicherung „Vergleich“ mit Low compression • Verschiedene parallele Abfragen (simulieren User-Parallität) • 3 Datenmodelle 36Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
  • 37. 0 5 10 15 20 25 30 Data Vault Star Flat IMDB Laufzeit (sek) IMDB Größe (GB) Testlauf 2: spaltenorientierte Speicherung, Cache 37Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015 3 2 1 1 23
  • 38. Vergleich Testlauf 1 und Testlauf 2 38Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015 0 5 10 15 20 25 30 35 40 45 Data Vault Star Flat Buffer Cache Laufzeit (sek) IMDB Laufzeit (sek) 0 10 20 30 40 50 60 70 Data Vault Star Flat Buffer Cache Größe (GB) IMDB Größe (GB) Laufzeit Cache Größe
  • 39. Testlauf 2: Bewertung 1(2) Ergebnis (Anmerkung: Indexe gelöscht außer PK, UK, FK) Star Schema • Gute Performanz und gute Komprimierung Data Vault • Performanzverbesserung beim Lesen Flat • Beste Performanz in diesem Beispiel! Jedoch nicht unbedingt empfehlenswert zukünftig so zu modellieren! 39Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
  • 40. Testlauf 2: Bewertung 2(2) • Testläufe sind nicht beliebig zu verallgemeinern, zeigen aber Vor/Nachteile auf. Es gibt auch Ausreißer. • Ergebnis stark abhängig von Anzahl Typ1 / Typ2 / Typ3 Abfragen • Viele Typ3-Abfragen = gut für Spaltenorientierung und Flat-Tabellen • Viele Typ1-Abfragen = geringer/kein Vorteil für Spaltenorientierung • Testen, Testen, Testen bei Migration in eine spaltenorientierte In-Memory DB. • Nicht immer Performanzvorteile • Oft ist das Problem in der Anwendung und nicht in der DB 40Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
  • 41. Gliederung Motivation und Konzepte spaltenorientierter In-Memory DBs (IMDB) OLAP/Cognos In-Memory Cubes und IMDB Testszenario und –durchführung mit Oracle Erkenntnisse/Folgerungen Zusammenfassung 41Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
  • 42. • Data Vault Hub-Tabelle H_CUSTOMER mit Hash-Keys • Schmale Tabelle mit eindeutigen Hash-Keys und eindeutigen Business-Keys • Tabellen mit solchen Daten (nicht nur bezogen auf Data Vault) sind ungeeignet für Dictionary-Compression Ausreißer Komprimierung am Beispiel Hub-Tabelle Größe in GB Verfahren 9 GB Buffer Cache, Basic compression 9.7 GB (größer!) IMDB, FOR QUERY LOW compression 8.4 GB IMDB, FOR QUERY HIGH compression 42Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
  • 43. Allgemeine Faustformel The greater the ratio of the total data accessed by a query to the data actually processed by the query, the greater the potential benefit from IMDB. Quelle: Oracle White Paper: When to use Oracle IMDB 43Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
  • 44. Anzahl selektierter Spalten 44Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015 Beschreibung Gut geeignet für Spalten InMemory Weniger geeignet für Spalten InMemory Je mehr Spalten abgefragt werden, umso geringer ist der Vorteil des spaltenorientierten Zugriffs. Bei der Modellierung im BI Tool darauf achten, dass nicht automatisch select * verwendet wird SELECT cust_name FROM customer; SELECT * FROM customer;
  • 45. Anzahl zurückgelieferter Zeilen Beschreibung Gut geeignet für Spalten InMemory Weniger geeignet für Spalten InMemory Je mehr Zeilen zurückgeliefert werden, umso geringer ist der Vorteil des spaltenorientierten Zugriffs, da die Werteübergabe zum BI Server und der Berichtaufbau die Performanz dominiert. SELECT sum(revenue) FROM sales; SELECT revenue FROM sales; 45Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
  • 46. Komplexe SQL-Funktionen (Expressions) Beschreibung Gut geeignet für Spalten InMemory Weniger geeignet für Spalten InMemory Rechenintensive SQL- Funktionen sind weniger geeignet, da die Performanz für die Berechnung benötigt wird. SELECT I.id, sum(S.revenue) FROM Sales S, Items I WHERE S.item_id = I.id AND I.name LIKE “%LED%TV” GROUP BY I.id; SELECT I.id, sum(S.revenue) FROM Sales S, Items I WHERE S.item_id = I.id AND MyMatch(I.name,”LED TV”)=1 GROUP BY I.id; 46Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
  • 47. DWH Reference Architecture PoC 47Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015 Backend Frontend Acquisition Layer (Input Layer) Core Warehouse Layer (Storage Layer) Information Mart Layer (Output Layer) Cognos BI Cognos SPSS / R Star Cognos Cubes Data Vault Keine FK, PKFlat
  • 48. Use Case: Standardreporting IMDB Cognos Dynamic Cubes (OLAP) Skalierbar Skalierbar Wenn IMDB-Cache voll, wird der Buffercache verwendet Nur Membercache und Aggregatecache kritisch (alle Daten müssen reinpassen). Faktendaten müssen nicht in den Cache (Abhängigkeit von der DB-Performanz; IBM empfiehlt Einsatz IMDB) DML-Operationen verlangsamen Aktualität Kompletter Refresh: dauert täglich länger mit größer werdender Datenmenge (RealTime Differential Refresh möglich) 48Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
  • 49. Use Case: Ad-hoc Reporting 49Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015 • Cubes sind nicht für ad-hoc geeignet. OLAP Cubes setzen bekannte Abfragen voraus, deren Daten zuvor festgelegt/implementiert werden müssen.
  • 50. Use Case: Flexibilität und Virtualisierung 50Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015 • Information / Analytics Mart Layer besteht nur aus Views auf Tabellen im Core Warehouse Layer • Einschätzung nach Performanztests: Vereinzelt machbar mit guter Performanz
  • 51. Gliederung Motivation und Konzepte spaltenorientierter In-Memory DBs (IMDB) OLAP/Cognos In-Memory Cubes und IMDB Testszenario und –durchführung mit Oracle Erkenntnisse/Folgerungen Zusammenfassung 51Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
  • 52. OLAP Cubes / Cognos Dynamic Cubes Use Cases werden weniger • Sinnvoll bei rechenintensiven KPIs (Aggregation, Expression Cache) • Sinnvoll, wenn Abfragen komplett feststehen (reines Standardreporting) • Keine weitere Lizenz nötig sobald Cognos BI lizensiert • Cognos Dynamic Cubes: Nicht alle Daten müssen im Cache gehalten werden (nur Member + Aggregate) • Zugriff auf DB bei Daten, die nicht im Cognos Cache sind • Performanz schwankt, je nach DB-Performanz 52Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
  • 53. OLAP, OLTP und OLTAP OLAP OLTP OLTAP – gemischte Workloads 53Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015 • großes Potential für spaltenorientierte In-Memory DBs • auch mit reinen Views als Data Marts denkbar („Datenvirtualisierung“) • vereinzelt sinnvoll, z.B. große Stammdatentabellen • große Herausforderung in der Vergangenheit • Potential für spaltenorientierte In-Memory DBs • aber: gegenläufiger Trend Microservices = „kleinere“ DBs
  • 54. One size does not fit all „In 10 years there will be no row stores in the data warehouse world.“ Quelle: Stonebreaker, O'Reilly webcast http://radar.oreilly.com/2015/06/the-future-of-data-at-scale.html 54Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
  • 55. Vielen Dank! 55Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015 Daimler TSS GmbH Wilhelm-Runge-Straße 11 89081 Ulm Telefon +49 731 505-06 Fax +49 731 505-65 99 tss@daimler.com Internet: www.daimler-tss.com Daimler TSS GmbH Sitz und Registergericht: Ulm, HRB-Nr.: 3844 Geschäftsführung: Dr. Stefan Eberhardt (Vorsitzender), Steffen Bäuerle Jobportal https://jobs.daimler-tss.de/PORTAL/jobs.html z.B.:
  • 56. In-Memory: IBM, Microsoft, Oracle, SAP 1(3) SQL Server IBM DB2 BLU Oracle IMDB SAP HANA Ersteinführung 07/2014 06/2013 04/2014 10/2010 Befehl zur Erzeugung der spaltenorienti erten Tabelle Create index … Create table … Eigenschaft einer Tabelle Create table … 56Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
  • 57. In-Memory: IBM, Microsoft, Oracle, SAP 2(3) SQL Server IBM DB2 BLU Oracle IMDB SAP HANA Datenkomprim ierung Ja Ja Ja Ja Data Skipping Ja Ja Ja Ja Datenhaltung • Zeilen (In- Memory Organized Tables) • Spalten (Columnstor e Index) • Zeilen und Spalten (Column- organized Tables oder Schattentab ellen) • Zeilen und Spalten simultan (BufferCache für Zeilen) • Zeilen und Spalten (Spalten präferiert) 57Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
  • 58. In-Memory: IBM, Microsoft, Oracle, SAP 3(3) SQL Server IBM DB2 BLU Oracle IMDB SAP HANA In-Memory Analytics / R Ja Nein Ja Ja Persistenz Columnstore Ja Ja Nein Ja Aggregate Pushdown Ja (ab 2016) Ja Limitierung durch RAM Nein Nein Nein Nein (nicht mehr) SIMD Ja Ja Ja Ja 58Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
  • 59. 1 Technologie - 4 Hersteller – 4 Implementierungen Spaltenorientierte IM DB RAM (In-Memory) Spalten- orientierung KomprimierungData Skipping SIMD 59Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
  • 60. SAP HANA Aufhebung Trennung operative (OLTP) und analytische (OLAP) Workloads 60Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
  • 61. Workload OLTP und OLAP 61Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015 Quelle: http://www.vldb.org/pvldb/vol5/p061_jenskrueger_vldb2012.pdf
  • 62. SAP Hana 62Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015 Eine Tabelle ist entweder zeilenorientiert oder spaltenorientiert.Row Store Column Store Delta L2 Delta L1 Select + DML DML Select Logs Snapshots
  • 63. IBM DB2 BLU Seven Big Ideas 63Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
  • 64. IBM DB2 BLU – 7 Big Ideas 64Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015 Big Idea 1: Simplicity and ease of use Big Idea 2: Column store Big Idea 3: Adaptive compression Big Idea 4: Parallel vector processing (SIMD) Big Idea 5: Core-friendly parallelism Big Idea 6: Scan-friendly memory caching Big Idea 7: Data skipping
  • 65. IBM DB2 BLU – Variante 1: OLAP 65Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015 Eine Tabelle ist entweder zeilenorientiert oder spaltenorientiert.
  • 66. IBM DB2 BLU – Variante 2: OLTAP (Schattentabellen) 66Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015 Eine Tabelle ist zeilenorientiert und spaltenorientiert.
  • 67. MS SQL Server Dedizierte In-Memory stores für OLTP und OLAP 67Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
  • 68. MS SQL Server – NonClustered Columnstore Index 68Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015 Eine Tabelle („Index“) ist zeilenorientiert und spaltenorientiert.
  • 69. MS SQL Server – Clustered Columnstore Index 69Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015 Eine Tabelle („Index“) ist entweder zeilenorientiert oder spaltenorientiert.
  • 70. Oracle Das duale Format in der Datenbank 70Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
  • 71. Oracle – Buffer Cache (row) and IMDB (columnar) 71Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015 Row Store Column Store Logs Datendateien Eine Tabelle ist zeilenorientiert und spaltenorientiert. Row Store DML Select
  • 72. Cognos Cube Technologien 72Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
  • 73. RDBMS vs OLAP vs IMDP Datenmodell Abfrage- Sprache Interaktion Vorteile RDBMS Star-Schema SQL Abfrage und Antwort Skalierbar Flexibel OLAP Cube MDX Interaktiv Performant IMDB Star-Schema Oder andere relationale Form SQL Interaktiv Skalierbar Flexibel Performant 73Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015 RDBMS (In-Memory) nähert sich OLAP Cubes an (interaktiv, schnell)
  • 74. Selektivität von Join-Bedingungen Beschreibung Gut geeignet für Spalten InMemory Weniger geeignet für Spalten InMemory Selektive Join-Bedingungen nutzen den Vorteil des schnellen Filterns von Daten. SELECT S.id, P.name, S.revenue FROM Sales S, Products P WHERE S.prod_id=P.id AND P.type=‘Footwear’; SELECT Si.d, S.revenue, P.name FROM Sales S,Products P WHERE S.prod_id=P.id; 74Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
  • 75. Anzahl der Tabellen im Join Beschreibung Gut geeignet für Spalten InMemory Weniger geeignet für Spalten InMemory Je größer die Anzahl der Tabellen im Join ist, umso geringer ist der Vorteil, da die Performanz für den Join benötigt wird. Aber typisch im Reporting! SELECT <select list> FROM Sales, Products, Customers WHERE <join condition> SELECT <select list> FROM Sales, Products, Customers, Shipments, Stores, Suppliers, Warehouses WHERE <Join Condition> 75Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
  • 76. Selektivität von Spalten-Prädikaten Beschreibung Gut geeignet für Spalten InMemory Weniger geeignet für Spalten InMemory Selektive Prädikate nutzen den Vorteil des schnellen Filterns von Daten. SELECT MEDIAN(revenue) FROM Sales WHERE revenue < 2; Vorteilhaft, da weniger Zeilen und dadurch weniger Daten für die Median-Berechnung nötig sind. SELECT MEDIAN(revenue) FROM Sales WHERE revenue > 2; 76Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
  • 77. OLTP - Mögliche Anwendungsfälle Sinnvoll bei • Größeren Stammdatentabellen • Weniger Indexe • Vermeidung ständiges Tuning dieser Tabellen • Klassiker: Adress-Suche (siehe folgendes Beispiel) Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
  • 78. Klassiker: Adress-Suche Kunden-Tabelle Adress-Tabelle Kundennummer Ort Vorname PLZ Nachname Straße Geburtsdatum Kundennummer etc etc Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
  • 79. Herausforderung Suchabfrage: Müller AND Berlin Buckenhofer: ca. 100 Müller: ca. 700.000 Berlin: ca. 3.5 Mio Dornstadt: ca. 8.500 79Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015 Buck enho fer Berlin Müller Dornst adt Müller Berlin 21 12 ? ? 1 2 = Reihenfolge der Abarbeitung / Joins Kleine Tabelle zuerst
  • 80. Lösungsansätze Adress-Suche • Materialized Views • Text Index • Bitmap Join Index • Index Backbone Join: Patent US8103658 (Lothar Flatz, Bjorn Kisbye Engsig) http://www.google.com/patents/US8103658 • Spaltenorientierte In-Memory DB 80Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015
  • 81. Zusammenfassung Konzepte 81Caching: In-Memory Column Store oder BI Server? | Analytics | 18-Nov-2015 Rohdaten Komprimierung Spalten Skipping SIMD