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