Fact

Transcription

Fact
TDWI Konferenz, München, 23.06.2014
LEISTUNG VON MODERNEN DATENBANKEN
Aslı Yaman, Andreas Hauenstein, Andrej Vckovski, Simon Hefti"
§  Motivationen
§  Konzept
§  Methodik und Ergebnisse
§  Diskussion
§  Schlussfolgerung
Leistung von Modernen Datenbanken | TDWI 2014 | (c) 2014 D|ONE
3
MOTIVATIONEN
Hauptmotivation
Entscheidungshilfe mittels einer Leistungsbewertung anbieten
§  Tauglichkeit
Der Schwerpunkt ist die Leistung auf nicht-transaktionalen Operationen mit in-memory,
spalten-basierten DBs.
§  Geschmack
Vorlieben und Gewohnheiten definieren unsere Wahl.
§  Geschwindigkeit Wie schnell kriegen wir die Ergebnisse?
§  Belastbarkeit
Wie passt sich die DB an Laständerungen bei höherer Anzahl von Benutzern an?
§  Preis
Die obigen Kriterien mit den Preisen normalisiert. Leistung von Modernen Datenbanken | TDWI 2014 | (c) 2014 D|ONE
5
DB Auftritt
Jahre
Reihen-
basiert
-10
In-memory,
spaltenbasiert
Gemischt
(spalten- & reihen-basiert ) -5
Jetzt
Leistung von Modernen Datenbanken | TDWI 2014 | (c) 2014 D|ONE
6
Bewertete Produkte
§  SQL 2012 : Solide reihen-basierte DB, verwendet als Stellvertreter für ähnliche Systeme
§  SQL 2014 : Gemischte DB mit einem einfachen Zugang zu In-Memory-Funktionen §  Oracle 12c : Eine der bestentwickeltsten reihen-basierten DBs für fast alle
§ 
Organisationen und Zwecke
Sybase IQ : spalten-basierte in-memory DB, vermarktet mit einem ausgezeichneten Preis / Leistungsverhältnis
§  HANA : Neues SAP-System, gemischte DB geeignet sowohl für DWH- als auch
Transaktions-Operationen §  Redshift/ParAccel : spalten-basierte DB als Amazon-Cloud-Lösung,
Leistung von Modernen Datenbanken | TDWI 2014 | (c) 2014 D|ONE
7
KONZEPT
Leistungs-Bewertungskonzept
§  "Out of the Box"-Systeme Die Datenbanken müssen mit geringstmöglichen Aufwand zu betreiben sein. Daher Leistung des Systeme mit minimalem Tuning.
§  Standardisierte Testumgebung für alle Produkt
Synthetische DB als Stern-Schema mit einer einzelnen Faktentabelle gekoppelt an
mehrere Dimensionstabellen und SQL Abfragen, die reale Probleme abbildet.
§  Vergleichbare Hardware
Standard-Hardware ist mit 8 Kernen (3,25 Ecu pro Kern) und 68GB RAM, genug, um
alle Daten für jedes Testsystem im Speicher verarbeiten zu können.
Ausnahme ist Redshift, ein Cluster mit insgesamt 10 Kernen (2,2 Ecu pro Kern) und 75GB RAM.
§  Cloud-Lösungen
Immer mehr Projekte laufen in der Cloud. Wie einfach funktionieren die Testprodukte in der Cloud?
Leistung von Modernen Datenbanken | TDWI 2014 | (c) 2014 D|ONE
9
Wie wir die Bestie in der Cloud zähmen
§  Definition des Modells
Standard Maschine: m2_4xlarge
Tabellendefinitionen, PKs, FKs, Abfragen, Prozeduren
Produ
§  Setzen der Variablen
Tabellengrössen, Hierarchietiefe, Anzahl
der Nutzer, Verzögerung zwischen den
Abfragen, Abfragetypen
§  Verbindung mit der DB
Via JDBC
Time
drop, create, insert, bulk load, run
§  Analyse der Ergebnisse Abfragezeiten Id
Cli01
Cli02
Id
Tim01
Tim02
Busin
Id
Bty01
Bty02
Fact
Org
Id
Parent
Org01
Org_Flat
Id
Parent
§  Ausführung des Befehls
Client
Id
Pro01
Pro02
Id
Org_Id
Time_Id
Pro_Id
Cli_Id
Bty_Id
Unit_Id
Mea_Id
Acc_Id
Tra_Id
Unit
Id
Unit01
Unit02
Meas
Id
Me01
Me02
Trans
Id
Tra01
Tra02
Accou.
Id
Acc01
Acc02
DB vereinfacht
Leistung von Modernen Datenbanken | TDWI 2014 | (c) 2014 D|ONE
10
METHODIK UND ERGEBNISSE
Geschwindigkeitstests Ausführungsschritte
§  Die Fakt Tabellengrösse variiert von 100K bis 300Mio Zeilen.
§  Für eine bestimmte Tabellengrösse wird folgendes gemacht: 1. 
DB erstellen und laden
2. 
Falls Laden gelingt
-  Ausführen der Hauptabfrage 13 Mal
-  Berechnung des Durchschnitts der letzte 10 Abfragezeiten
3. 
Falls Laden nicht erfolgreich
-  Minimales Tuning : extra Puffer und/oder Temp Space
-  Wiederholung der vorherigen Schritte
Leistung von Modernen Datenbanken | TDWI 2014 | (c) 2014 D|ONE
12
Geschwindigkeitstests Hauptabfrage
§  Umsätze aller Mitarbeiter eines Manager einer Firma
Ein rekursives Problem. Die Anzahl der Berechnungen erhöht sich, je höher der Manager in der Hierarchie ist. Die Abfrage berechnet auf jeder Ebene auch die Ergebnisse der unterer Niveaus.
Manager a: der Mitarbeiter x und y
Umsatz
Manager 1: Umsatz aller Mitarbeiter (x, y, ..)
von A, B, C sowie den Umsatz
von a, b, c Manager A: die Vereinigung der Ergebnisse
für 1,2,3
CEO: Umsatz aller Mitarbeiter CEO
A
a
1
2
b
c
B
C
3
x y
Leistung von Modernen Datenbanken | TDWI 2014 | (c) 2014 D|ONE
13
§  Die Hauptabfrage berechnet die Ergebnisse für alle Ebenen,
ausgehend vom CEO.
SELECT
count(*) FROM (
SELECT
sum(al1.fact01) employee revenues,
sum(al1.fact02) employee costs,
sum(al1.fact03) employee commissions,
org.id, time.tim01, client.cli01,
product.pro01, measure.mea01,
unit.unit01, accounting.acc01,
transactions.tra01, businesstype.bty01
FROM
fact, org, org_flat flat, time,
client, product, measure, unit,
accounting, transaction,
businesstype
WHERE
fact.org_id = flat.id
and org.id = flat.parent
and fact.tim_id = time.id
and fact.cli_id = client.id
and fact.prod_id = product.id
and fact.measure_id = measure.id
and fact.unit_id = unit.id
and fact.acc_id = accounting.id
and fact.trans_id = transaction.id
and fact.bty_id = businesstype.id
and org.id = 100001
GROUP BY
org.id, time.tim01, client.cli01,
product.pro01, measure.mea01,
unit.unit01, accounting.acc01,
transaction.tra01, businesstype.bty01
) x
Leistung von Modernen Datenbanken | TDWI 2014 | (c) 2014 D|ONE
14
Geschwindigkeitstests
Übersicht
Oracle 12c (reihen-basiert)
Hauptabfragezeit [s]
Sql 2014
(Mixed, in-memory)
Sybase IQ (reihenbasiert, in memory)
Redshift
(spalten-basiert)
Hana
(Mixed, in-memory)
Fact Tabellengrösse
Leistung von Modernen Datenbanken | TDWI 2014 | (c) 2014 D|ONE
15
Geschwindigkeitstests
§  Hana zeigt die beste Geschwindigkeit, mit 40s, 10x schneller als
Redshift mit 400s, und 20x von Sybase IQ mit 800s
Oracle 12c
Abfragezeit [s]
Sql 2014
Sybase IQ Redshift
Hana
Abfragezeit für 300Mio
Leistung von Modernen Datenbanken | TDWI 2014 | (c) 2014 D|ONE
16
Hana Redshift /
ParAccel
SQL 2012
Sybase IQ
SQL 2014
Oracle 12c
Auswertung der Geschwindigkeit
Geschwindigkeit
Legende:
beste
Leistung von Modernen Datenbanken | TDWI 2014 | (c) 2014 D|ONE
17
Zeit der allerersten Abfrage
§  Nach Neuerstellung und frischem Laden der Fact Tabelle ist die
Laufzeit der ersten Abfrage vergleichbar mit dem Durchschnitt.
Oracle 12c
Abfragezeit [s]
Sql 2014
Sybase IQ Redshift
Hana
Fact Tabellengrösse
Leistung von Modernen Datenbanken | TDWI 2014 | (c) 2014 D|ONE
18
Belastbarkeitstests
Ausführungsschritte
§  Die Fact Tabellengrösse ist bei 100Mio festgelegt. Der Anzahl der
Benutzer wird von 2 bis auf 35 erhöht.
§  Für eine fixe Anzahl gleichzeitiger Benutzer das Folgende gemacht:
1.  Aufwärmen der DB mit 3 Hauptabfragen
2.  Für jeden Benutzer werden die nächsten Schritte im Hintergrund durchgeführt
bis die Hauptabfrage beendet ist:
-  Ausführen einer Abfrage aus einem festen Satz von kleineren Abfragen
-  Warten einer zufälligen Verzögerung von bis zu 3s
3.  Ausführung der Hauptabfrage
Time
User 1
Main Query
User 2
User 3
User 4
Join
Join
Join
Count
Join
Count
Join
Count
Join
Count
User 5
.
.
.
Leistung von Modernen Datenbanken | TDWI 2014 | (c) 2014 D|ONE
19
Belastbarkeitstests Abfragen
Häufige Fragen im täglichen Einsatz von DBs
§  Einfache "count" Abfragen SELECT count(*) FROM businesstype WHERE businesstype= ’sales’
§  "Joins" mit Filtern
SELECT count(*) FROM (
SELECT sum(fact.fact01) revenues,
org.id, businesstype.bty01
FROM
fact, org,
and org_flat,
businesstype
WHERE
fact.org_id = org_flat.id
and org.id = org_flat.parent
and fact.bty_id=businesstype.id
and org.id = 100001
and (fact.fact01 between 80001 and 90000)
GROUP BY org.id, businesstype.bty01
) x
Leistung von Modernen Datenbanken | TDWI 2014 | (c) 2014 D|ONE
20
Belastbarkeitstests Abfragezeit parallel / Abfragezeit alleine
Übersicht
Oracle 12c (reihen-basiert)
Sql 2014
(Mixed, in-memory)
Sybase IQ (reihenbasiert, in memory)
Redshift
(spalten-basiert)
Hana
(Mixed, in-memory)
Anzahl der gleichzeitigen Benutzer Leistung von Modernen Datenbanken | TDWI 2014 | (c) 2014 D|ONE
21
Belastbarkeitstests §  Bei Hana bleibt die Geschwindigkeit konstant. Bei 20 gleichzeitigen
Benutzern verdoppelt sich die Abfragezeit bei SQL 2014, und
verdreifacht sich bei Redshift. Sybase wird 5 mal langsamer.
Abfragezeit parallel /
Abfragezeit alleine
Sybase IQ Redshift
Sql 2014
Hana
Anzahl der gleichzeitigen Benutzer Leistung von Modernen Datenbanken | TDWI 2014 | (c) 2014 D|ONE
22
Hana Redshift /
ParAccel
SQL 2012
Sybase IQ
SQL 2014
Oracle 12c
Auswertung der Belastbarkeit
Belastbarkeit
Legende:
beste
Leistung von Modernen Datenbanken | TDWI 2014 | (c) 2014 D|ONE
23
Korrektur der Messfehler Wiederholung der Tests
Oracle 12c
Abfragezeit [s]
SQL 2012
Sql 2014
Sybase IQ Redshift
Hana
Fact Tabellengrösse
Leistung von Modernen Datenbanken | TDWI 2014 | (c) 2014 D|ONE
24
DISKUSSION
Steigung des Geschwindigkeitskurven
§  Mit der Skalierung der Datengrösse ist der Idealfall ein linearer Anstieg
der Abfragezeit, gleichbedeutend ist die Konstanz der Steigungskurve.
Steigung des Geschwindigkeit Kurven
Sql 2014
Oracle 12c
Sybase IQ Redshift
Hana
Fact Tabellengrösse
Leistung von Modernen Datenbanken | TDWI 2014 | (c) 2014 D|ONE
26
SQL 2012
§  Bei 20Mio Zeilen liegt SQL 2012 bereits 4 mal hinter SQL 2014 und
1,5 mal hinter Oracle. Zu langsam für grössere Datenmengen.
Abfragezeit [s]
SQL 2012
Oracle 12c
Sql 2014
Sybase IQ Redshift
Hana
Fact Tabellengrösse
Leistung von Modernen Datenbanken | TDWI 2014 | (c) 2014 D|ONE
27
Durchsatz mit gleichzeitigen Benutzern
§  Hana hat den grössten Durchsatz pro Minute.
§  Redshift liefert 40% und Sybase 20% mehr als Oracle.
Anzahl Abfragen pro Minute
Oracle 12c
Sql 2014
Sybase IQ Redshift
Hana
Durchsatz pro Minute für 20 gleichzeitige Benutzer Leistung von Modernen Datenbanken | TDWI 2014 | (c) 2014 D|ONE
28
SCHLUSSFOLGERUNG
Hana Redshift /
ParAccel
SQL 2012
Sybase IQ
SQL 2014
Oracle 12c
Auswertung der Preise
Preis
Legende:
beste
Leistung von Modernen Datenbanken | TDWI 2014 | (c) 2014 D|ONE
30
Abschliessendes Bild
Hana Redshift /
ParAccel
SQL 2012
Sybase IQ
SQL 2014
Oracle 12c
Der beste Fall ist, wenn Geschwindigkeit und Belastbarkeit gross und der Preis klein ist.
Geschwindigkeit
Belastbarkeit
Preis
Geschwindigkeit * Belastbarkeit / Preis
Legende:
beste
Leistung von Modernen Datenbanken | TDWI 2014 | (c) 2014 D|ONE
31
Was nehmen wir mit?
§  Modern vs. Traditionell
50x: Immer noch wahr. Lücke schliesst sich nicht
§  HANA
Stark und jung
§  Preis in der Cloud
Vergleichbar
Leistung von Modernen Datenbanken | TDWI 2014 | (c) 2014 D|ONE
32
Dr. Aslı Yaman"
Consultant"
[email protected]
Zypressenstrasse 71
Zürich 8040 / Switzerland Tel: +41 44 435 10 06
Systems
Test
Total # CPU RAM
Cores Speed (GB)
System & Hardware
AWS Machine m2_4xlarge
Hana (Developper Ed. Rev.72)
Suse Linux Enterprise 11
Sybase IQ (1.6)
Windows Server 2008
Oracle 12c (Enterprise Ed.)
Windows Server 2008
SQL 2014 (Enterprise Ed.)
Windows Server 2008
SQL 2012 (Standard Ed.)
Windows Server 2012
8
3,25
68
10
2.2
75
AWS Cluster 4 nodes & 1 Leader
Redshift/ParAccel (1.0.772)
N/A
Leistung von Modernen Datenbanken | TDWI 2014 | (c) 2014 D|ONE
34