Deutsch   |   English
   
 digg.com  del.icio.us 

Benchmarks TPC-H

Der TPC Benchmark H ("TPC-H") ist ein Benchmark im Bereich Decision-Support, der aus einer fest definierten Datenbank und einer Reihe von Business-orientierten ad-hoc Queries mit gleichzeitiger Datenveränderung besteht.

Die Abfragen und Daten in der Datenbank repräsentieren Daten eines Unternehmens aus der Einzelhandelsbranche mit dessen typischen Fragestellungen.

Die TPC-H Queries geben Antworten auf reelle Fragen aus dem Geschäftsleben. Sie simulieren generierte ad-hoc Queries (z.B. mit Hilfe eines BI-Tools) und  beinhalten ein breites Spektrum von Operatoren und Selektivitätskriterien. Dabei wird eine intensive Workload auf dem Datenbanksystem generiert.

Rahmenbedingungen

Der Benchmark repräsentiert ein Data Warehouse, für welches bestimme Annahmen vorausgesetzt wurden:

  • Die Datenbank muss für mehrere Endnutzer und Prozesse durchgängig verfügbar sein (24x7). Die Ausnahme bildet ein Wartungsfenster pro Monat.
  • Aus einem operativen System werden periodisch aktuelle Daten geliefert. Dieses Update (Refresh-Funktion) bündelt eine ganze Reihe an Modifikationen, die einen Teil der Datenbank verändern.
  • Durch den internationalen Charakter der Geschäftsdaten, die in der TPC-H Datenbank gespeichert sind, sollen Anfragen und Refresh-Funktionen auf der Datenbank jederzeit ausgeführt werden können, insbesondere gleichzeitig und ohne, dass die ACID-Anforderungen verletzt werden.
  • Um einen optimalen Kompromiss zwischen Performance und operativen Anforderungen zu erreichen, kann ein DBA einmalig Locking Level und Scheduling Regeln für Queries und Refresh-Funktionen setzen.

Die kleinste Datenbank verwaltet geschäftsrelevante Daten von 10000 Lieferanten. Diese Datenbank besteht insgesamt aus ca. 10 Mio Zeilen, was einer Rohdatenmenge von ca. 1GB entspricht.

Die Abfragen sind sehr typisch und werden in ähnlicher Form in vielen Unternehmen verwendet. Wichtige Charakteristika des Benchmarks sind Komplexität der Anfragen und großes zu verarbeitendes Datenvolumen. Durch den ad-hoc Charakter des Tests können und dürfen von Administratoren keine Vorberechnungen durchgeführt werden.

Schema

Der TPC-H Benchmark kann in verschiedenen Größenkategorien ausgeführt werden, von 1 GB bis 30 TB.

Die Anzahl Zeilen in den Tabellen wird dabei in Abhängigkeit zur Benchmarkgröße in GB gesetzt. So, enthält die Tabelle LINEITEM im 1 TB Test 1.000*6.000.000 = 6 Mrd. Zeilen. Im 10 TB Test sind das bereits 60 Mrd. Zeilen, die verarbeitet werden müssen. Beim Vergleich mit realen Datenbanken sollte unbedingt beachtet werden, dass im TPC-H keinerlei historische Daten vorhanden sind und somit alle Daten ausgewertet werden.

Schema

Minimum Cost Supplier: Komplexitätstest

Query 2 ist ein klassisches Beispiel eines Einzelhändlers, der einen Hersteller gegen den anderen ausspielt, um den besten Abgabepreis zu erhalten. Wenn es mehrere Hersteller gibt, die den gleichen Produkttyp (part type und size) anbieten, werden die Produkte der Hersteller mit den 100 höchsten Umsätzen aufgelistet.

Technisch gesehen bildet diese Query mit ihrem Join von 5 Tabellen und einer korellierten Subquery die Komplexitätsanforderung zusammen mit der Analyse von großem Datenvolumen ab.

Query 2: Minimum Cost Supplier

  1. SELECT
  2.       s_acctbal,
  3.       s_name,
  4.       n_name,
  5.       p_partkey,
  6.       p_mfgr,
  7.       s_address,
  8.       s_phone,
  9.       s_comment
  10. FROM
  11.     part,
  12.     supplier,
  13.     partsupp,
  14.     nation,
  15.     region
  16. WHERE
  17.     p_partkey = ps_partkey
  18.     AND s_suppkey = ps_suppkey
  19.     AND p_size = 28
  20.     AND p_type LIKE '%COPPER'
  21.     AND s_nationkey = n_nationkey
  22.     AND n_regionkey = r_regionkey
  23.     AND r_name = 'AFRICA'
  24.     AND ps_supplycost = (
  25.         SELECT
  26.             MIN(ps_supplycost)
  27.         FROM
  28.             partsupp,
  29.             supplier,
  30.             nation,
  31.             region
  32.         WHERE
  33.             p_partkey = ps_partkey
  34.             AND s_suppkey = ps_suppkey
  35.             AND s_nationkey = n_nationkey
  36.             AND n_regionkey = r_regionkey
  37.             AND r_name = 'AFRICA'
  38.     )
  39. ORDER BY s_acctbal DESC, n_name, s_name, p_partkey
  40. LIMIT 100;

"WAS-WÄRE-WENN"-Analyse auf großem Datenvolumen

Große Table Scans sind im Data Warehousing Alltag insbesondere für ad hoc Analysen kritisch. Query 6 verknüpft keine Tabellen, sie adressiert vielmehr eine große Tabelle (LINEITEM) und selektiert ca. 12% aller Zeilen. Sie gibt einen Wert zurück, der eine potenzielle Umsatzsteigerung subsummiert.

Diese Query stellt eine typische "WAS-WÄRE-WENN"-Analyse dar und berechnet den Umsatz, der erzielt werden könnte, wenn es bestimmte Discounts nicht geben würde. Es werden hier alle Artikel (LINEITEM) betrachtet, die im gegeben Jahr mit einem Rabatt zwischen 2% und 4% verkauft wurden. Die Query berechnet den möglichen Umsatz, wenn die entsprechenden Rabatte nicht angewandt würden, wenn die Anzahl der verkauften Einheiten < 25 ist.

Solche Queries werden ebenfalls oft in der Telekommunikationsbranche verwendet, um festzustellen, welcher Umsatz generiert werden kann, wenn bestimmte Tarifoptionen nicht angeboten werden. Die Berechnung basiert dann an den in der Call Detail Record Tabelle enthaltenen Daten über die Gesprächsdauer und -ziel.

Query 6: Forecasting Revenue Change

  1. SELECT
  2.     SUM(l_extendedprice * l_discount) AS revenue
  3. FROM
  4.     lineitem
  5. WHERE
  6.     l_shipdate >= DATE '1997-01-01'
  7.     AND l_shipdate < ADD_MONTHS( DATE '1997-01-01' , 12)
  8.     AND l_discount BETWEEN 0.02 AND 0.04
  9.     AND l_quantity < 25;
  10.  

Effektivität einer Kampagne bestimmen

Query 14 adressiert eine der Schlüssel-Businessfragen: "Wie effektiv waren Kampagnen wie z.B. Mailing oder TV-Werbung?" Interessant ist auch, dass diese Fragestellung weitestgehend branchenunabhängig ist.

Hier werden 2 Tabellen verknüpft, wobei die Analysebasis auf 1 Monat (von insgesamt 7 Jahren) beschränkt wird. Die Query bestimmt, welcher Anteil des Umsatzes aus Kampagnen stammt. Umsatz wird hier als (l_extendedprice * (1-l_discount)) definiert.

Aus unserer Kundenerfahrung ist es insbesondere für Retail-Firmen enorm wichtig, die Responsrate von Kampagnen zu bemessen. Erfolg verspricht hier die Analyse des tatsächlichen Bestellverhaltens auf Einzelpositionsebene. Oft wird man anschließend mit Hilfe von Query 14 Unterschiede im zweistelligen Prozentbereich zu allgemeinen Kampangnen feststellen können. 

Query 14: Promotion Effect Query 

  1. SELECT
  2.     100.00 * SUM(CASE
  3.         WHEN p_type LIKE 'PROMO%'
  4.             THEN l_extendedprice * (1 - l_discount)
  5.         ELSE 0
  6.     END) / SUM(l_extendedprice * (1 - l_discount)) AS promo_revenue
  7. FROM
  8.     lineitem,
  9.     part
  10. WHERE
  11.     l_partkey = p_partkey
  12.     AND l_shipdate >= DATE '1995-01-01'
  13.     AND l_shipdate < ADD_MONTHS( DATE '1995-01-01', 1);
  14.  

Benchmark-Durchführung und Ergebnis

Der Benchmark selbst besteht aus drei Bausteinen: initiale Beladung, Power-Test und Throughput-Test.

Die initiale Beladung startet mit der Erstellung der Datenbank und schließt alle Aktivitäten ein, die notwendig sind, um die späteren Performancetests auszuführen. Während dieser Phase dürfen keine Queries ausgeführt werden, die denen aus dem Performancetest ähneln. Die Zeit bzw. der Aufwand der Beladung geht nicht in die Benchmarkwertung ein.

Der Performancetest selbst besteht aus 2 Läufen, die jeweils den Power-Test und Throughput-Test beinhalten. Power- und Throughput-Test gehen jeweils zusammen in eine Wertung ein, von den beiden Läufen zählt die schlechtere Wertung dann als entgültiges Testergebnis. Dies liefert eine konservative Bewertung der Systemperformance und schließt Vorteile durch Caching-Effekte weitgehend aus.

Während des Power-Tests werden alle Queries von einem Nutzer nacheinander ausgeführt. Der Test bewertet damit die reine Rechenpower des Systems, basierend auf dem geometrischen Mittel der Einzellaufzeiten. Vor und nach der Ausführung des Powertests wird die Datenbank upgedated, so dass ein Caching von Ergebnissen das Messergebnis nicht beeinflussen kann.

Währen des Throughput-Tests werden alle Queries von jeweils mehreren Nutzern ausgeführt. Parallel dazu laufen Refresh-Funktionen, so dass die Systembeladung gleichzeitig zur Queryausführung getestet werden kann. Die Anzahl der konkurrierenden Nutzer kann frei gewählt werden und fliesst in die Bewertung ein, welche hier auf der Gesamtlaufzeit (Start erste Abfrage bis Ende letzte Abfrage) basiert.

Die Ergebniszahl wird als eine TPC-H Composite Query-per-Hour Performance Metrik (QphH@Size) berechnet und bildet mehrere Systemeigenschaften in Bezug auf Queryausführung ab. Die TPC-H Mertik Price/Performance wird als $/QphH@Size abgebildet.

Die Einhaltung der Benchmarkregeln und die Ausführung selbst wird von einem Mitarbeiter des TPC-Konsortiums überwacht, Ergebnisse dürfen nicht ohne Prüfung veröffentlicht werden. Die endgültige Veröffentlichung enthält einen genauen Bericht, der das genutzte System vollständig beschreibt, inklusive der eingesetzten Hardware und Tuning-Maßnahmen.

3 TB Ergebnisse

3 TB Ergebnisse

Konfiguration:

  • EXASolution 2.1
  • Cluster aus 80 Fujitsu Siemens Computers PRIMERGY RX300 S4 Servern
  • Intel® Xeon® X5460, 3,16 GHz Quadcore-Prozessoren
Sie kommen nicht weiter?
Wirklich die schnellste Datenbank?
Referenzen
  • AHOOLY
  • COOP
  • „Mit EXASolution sind wir für zukünftiges Datenwachstum bestens gerüstet. Dadurch, dass wir jetzt Geodaten verarbeiten, sprich die Dimension des Raumbezugs mit auswerten können, bieten wir unseren Kunden ganz neue Analysemöglichkeiten und noch umfassendere Marktübersichten. Wir sind sehr zufrieden mit der neuen Lösung, können flexibel auf zukünftige Anforderungen reagieren und trotzdem unsere Total Cost of Ownership reduzieren, da der so gewählte BI-Stack unsere Vision eines „Lean-BI“ in vollem Umfang unsterstützt.“

    Guido Niermann, IT-Leiter, Dataforce GmbH

    Dataforce
  • "Durch die Einbindung von EXASOL können wir unseren Kunden ein ganz neues Erlebnis bezüglich der explorativen Datenanalyse bieten… Neben der Technologie waren wir vor allem mit der Pre-Sales Beratung und dem Support während der Integration äußerst zufrieden."

     Martin Heink
    Geschäftsführer und Inhaber, econda GmbH 

    Econda
  • "Entscheidend für die IMS Health war insbesondere, dass wir uns durch einen sehr schnell aufgesetzten Proof of Concept von der Leistungsfähigkeit von EXASolution direkt überzeugen konnten."

     Michael Kempke
    Director Data Collection Global Operations, IMS Health GmbH & Co. OHG

    IMS
  • "Mit der innovativen Datenbank von EXASOL können wir komplexe Berechnungen genauer und umfangreicher durchführen. Das gibt uns einen signifikanten Technologievorsprung gegenüber der Konkurrenz."

     Tobias Kiessling
    CTO, intelliAd 

    Intelliad
  • "Die durchgängig hohe Leistung und die Möglichkeit, Echtzeitanalysen fahren zu können, waren für uns ausschlaggebend bei der Wahl von EXASolution."

     Tobias Kroha, Geschäftsführer der für das m-pathy-Projekt verantwortlichen seto GmbH

    m-pathy
  • Media Control
  • Olympus
  • "Wir haben uns für EXASolution entschieden, da die Hochleistungsdatenbank mit den zu erwartenden großen Datenmengen sehr gut umgehen kann und optimale Flexibilität bietet."

     Dr. Michael Röbbecke
    (ehem.) Geschäftsführer, RatePAY 

    RatePAY
  • "Mit EXASolution können wir unsere Geschäftsprozesse deutlich optimieren." 

     Gerhard Zapf
    Projektleiter, Semikron 

    Semikron
  • "Ein zuverlässiger und schneller Support, eine bessere Kundenbetreuung sowie eine bewiesene Fachkompetenz…"

     David Hodge
    IT Director, Sony Music Entertainment Germany 

    Sony Music
  • SOQUERO
  • SponsorPay
  • Stayfriends
  • "Die Datenbank von EXASOL ist Technik made in Germany, auf die wir uns langfristig verlassen können. Da sie bei steigendem Datenvolumen selbstständig skaliert und auch physisch beliebig erweitert werden kann, wächst unsere Datenbank mit unserem Unternehmen, und wir können auch in Zukunft flexibel und schnell auf neue Anforderungen reagieren."

     Heinrich Zetlmayer
    Geschäftsführer, Turtle Entertainment 

    Turtle Entertainment
  • United Internet Dialog
  • "Mit EXASolution haben wir eine Lösung erworben, die unsere hohen Leistungsansprüche komplexer Analysen bei steigenden Datenmengen für unsere Kunden optimal erfüllt." 

     Christian Sauer
    Geschäftsführer, Webtrekk GmbH 

    Webtrekk
  • "Wir haben uns nach einem ausgiebigen Benchmark-Test für die Lösung von EXASOL entschieden. Die hohe Performance des Systems, das Preis-/Leistungs-Verhältnis und der Service haben uns vollauf überzeugt"

    Dr. Ulrich Fricke
    Leiter Business Intelligence, XING AG 

    Xing
  • "Neben Wirtschaftlichkeit, Geschwindigkeit und hoher Leistungsfähigkeit war Flexibilität eines der entscheidenden Kriterien bei der Wahl unserer Datenbank… Die neue Datenbank bietet uns diese Skalierbarkeit bei reduzierten Total Cost of Ownership. So können wir auch in Zukunft immer die optimale Analyseleistung für unsere Kunden erbringen…"

     Sebastian Hoop
    Head of Operations, xplosion interactive gmbh 

    Xplosion
  • Zalando