Kap. 7: DB/TP Benchmarks Einleitung Anforderungen an Benchmarks TPC-Benchmarks TPC-C TPC-W TPC-H 7-1 Benchmarks Leistungsbewertung eines DBMS bzw. Transaktionssystems für standardisierte Last und Ausführungsbedingungen Unterschiedliche Einsatzbereiche / Lasten führen zu unterschiedlichen Benchmarks Online Transaction Processing (OLTP) Online Analytical Processing (OLAP, decision support) Mischlasten Unterschiedliche Benchmarks nach Datenmodell Relationale DBS (Wisconsin-Benchmark, TPC-Benchmarks) OODBS (OO7) XML (Xmark, Xmach-1) NOSQL 7-2
Anforderungen an geeignete Benchmarks* Domain-spezifische Benchmarks kein geeignetes Leistungsmaß für alle Anwendungsklassen möglich spezielle Benchmarks für techn./wissenschaftliche Anwendungen, DB-Anwendungen, etc. Relevanz Berücksichtigung typischer Operationen des jeweiligen Anwendungsbereichs Messen der maximalen Leistung Berücksichtigung der Systemkosten (Kosteneffektivität) Portierbarkeit Übertragbarkeit auf verschiedene Systemplattformen Vergleichbarkeit Skalierbarkeit Anwendbarkeit auf kleine und große Computersysteme Übertragbarkeit auf verteilte/parallele Systeme Einfachheit / Verständlichkeit * J. Gray (ed.): The Benchmark Handbook for Database and Transaction Processing Systems. 2nd ed., Morgan Kaufmann, 1993. http://research.microsoft.com/en-us/um/people/gray/benchmarkhandbook/toc.htm 7-3 TPC-Benchmarks Herstellergremium zur Standardisierung von DB-Benchmarks (www.tpc.org) Gründung 1988 erste Benchmarks für Kontenbuchung ( Debit-Credit ): TPC-A, TPC-B (1989/90) besondere Merkmale Leistung eines Gesamt-Systems wird bewertet Bewertung der Kosteneffektivität (Kosten / Leistung) skalierbare Konfigurationen verbindliche Richtlinien zur Durchführung und Dokumentation (Auditing; Full Disclosure Reports) Ausschluß von Benchmark Specials innerhalb von DBMS etc. aktuelle Benchmarks für OLTP: TPC-C, TPC-E Decision Support: TPC-H, TPC-DS Orthogonale Spezifikationen: TPC-VMS (Virtualisierung), TPC-Energy 7-4
TPC-C 1992 eingeführter OLTP-Benchmark 9 Tabellen (Bestellverwaltung von Warenhäusern) 5 Transaktionstypen New-order (45%) Payment (43%), Delivery (4%), Order-status (4%), Stock-level(4%) DB skaliert proportional zum Durchsatz Hohe Lokalität Metriken Durchsatz von NewOrder-Transaktionen pro Minute (tpmc) Price/performance ($/tpmc) 7-5 TPC-C DB-Schema Warehouse W 100K Stock W*100K W Item 100K (fixed) 10 District W*10 3K Customer W*30K 1+ Order W*30K+ 0-1 New-Order W*5K 1+ 10-15 History W*30K+ Order-Line W*300K+ 7-6
Transaktionstyp New Order (TPC-C) BEGIN WORK { Beginn der Transaktion } SELECT... FROM CUSTOMER WHERE c_w_id = :w_no AND c_d_id = :d_no AND c_id = :cust_no im Mittel 48 SQL-Anweisungen (BOT, 23 SELECT, 11 UPDATE, 12 INSERT, EOT) 1% der Transaktionen sollen zurückgesetzt werden SELECT... FROM WAREHOUSE WHERE w_id = :w_no SELECT... FROM DISTRICT (* -> next_o_id *) WHERE d_w_id = :w_no AND d_id = :d_no UPDATE DISTRICT SET d_next_o_id := :next_o_id + 1 WHERE d_w_id = :w_no AND d_id = :d_no INSERT INTO NEW_ORDER... INSERT INTO ORDERS... pro Artikel (im Mittel 10) werden folgende Anweisungen ausgeführt: SELECT... FROM ITEM WHERE... SELECT... FROM STOCK WHERE... UPDATE STOCK... INSERT INTO ORDER-LINE... COMMIT WORK { Ende der Transaktion } 7-7 TPC-C: Entwicklung 1994-2004 700 $666.12 1,025,486 1,050,000 Price / tpmc ($) 600 500 400 300 200 100 1,470 $5.12 900,000 750,000 600,000 450,000 300,000 150,000 0 Overall Performance (tpmc) 0 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 Year 7-8
TPC-C Top-Durchsatz (Juni 2013) 7-9 TPC-C Top Price/Performance (Juni 2013) 7-10
TPC-E: Business Model Financial Market Customer Request Customers Brokerage Response DRIVER Market Response Stock Exchange Ticker Feed Brokerage Request SUT Brokerage Response Customer Request Market Response Brokerage House Brokerage Request Ticker Feed 7-11 TPC-E 2007 verabschiedet wesentlich komplexer als TPC-C 33 statt 9 Tabellen 188 statt 92 Spalten Referentielle Integrität einzuhalten ( Obligatorische RAID-Datenspeicherung Pseudo-reale Daten (z.b. für Kundennamen) 10 Transaktionstypen Consumer-to-Business: Trade-Order, Trade-Result, Trade-Update, Business-to-Business: Broker Volume, Market-Watch,.. Metriken Durchsatz von TradeResult-Transaktionen pro Sekunde (tpse) Price/performance ($/tpse) 7-12
TPC-E Database Mile High View Source: TPC Broker Customer Market Dimension 7-13 TPC-E Top-Durchsatz (Juni 2013) Performance-Entwicklung für SQL-Server: 7-14
TPC-E: Top-Preis/Performance 7-15 TPC-H Benchmark für Decision Support (Ad-Hoc-Queries) 1999 eingeführt Unterschiedliche DB-Größen (100 GB 30 TB) über Skalierungsfaktor 22 Query-Typen, 2 Update-Operationen Zeitbedarf für Einbenutzer- und Mehrbenutzerausführung (single/multiple streams) Metriken Query-per-Hour (QphH@Size) $/QphH@Size 7-16
TPC-H Schema Customer SF*150K Nation 25 Region 5 Order SF*1500K Supplier SF*10K Part SF*200K LineItem SF*6000K PartSupp SF*800K 7-17 Beispiel-Query Q7 (Volume Shipping) Zur Unterstützung bei der Verhandlung über neue Lieferverträge soll der Wert der zwischen Frankreich und Deutschland transportierten Güter festgestellt werden. Dazu werden jeweils die rabattierten Einnahmen in den Jahren 1995 und 1996 berechnet, die aus Auftragspositionen resultieren, bei denen der Lieferant aus dem einen, und der Kunde aus dem anderen Land stammt (also vier Ergebnistupel). 7-18
TPC-H: Performance 7-19 TPC-H: Preis/Performance 7-20
Zusammenfassung Benchmarks spielen wichtige Rolle bei der Bewertung und Optimierung von DBS TPC-Benchmarks Bewertung vollständiger Systeme Berücksichtigung von Kosten / Energieverbrauch relativ hoher Aufwand zur Durchführung (Auditing etc.) Beobachtungen starke Verbesserungen in Performanz, Preis-Leistungsverhältnis aufgrund technologischer Fortschritte / Systemoptimierungen neue leistungsstarke Wettbewerber v.a. für TPC-H (Column Stores etc) eingeschränkte Realitätsnähe älterer Benchmarks 7-21