Melden Sie sich hier an, um auf Kommentare und die Whitepaper-Datenbank zugreifen zu können.

Kein Log-In? Dann jetzt kostenlos registrieren.

Falls Sie Ihr Passwort vergessen haben, können Sie es hier per E-Mail anfordern.

Der Zugang zur Reseller Only!-Community ist registrierten Fachhändlern, Systemhäusern und Dienstleistern vorbehalten.

Registrieren Sie sich hier, um Zugang zu diesem Bereich zu beantragen. Die Freigabe Ihres Zugangs erfolgt nach Prüfung Ihrer Anmeldung durch die Redaktion.

22.12.2000 - 

Analyse: Was TPC-C-Benchmarks wirklich aussagen

Bei Highend-Datenbanken liegt Microsoft nur im Marketing vorne

MÜNCHEN - Microsoft glänzt zur Zeit beim TPC-C-Datenbank-Benchmark. Doch dieser Leistungsvergleich hat seine Grenzen. Fair betrachtet, liegt Oracle noch immer an der Spitze, auch wenn Microsoft das anders darstellt. Von CW-Redakteur Martin Ottomeier

Ergebnisse aus Benchmarks hinterlassen immer zwiespältige Gefühle. Als genormte Leistungstests stilisieren sie die Wirklichkeit, und ein Abbild gibt niemals die Realität in ihrem Facettenreichtum wider. Auf der anderen Seite bietet nur ein einheitliches Vorgehen mit wohl definierten Randbedingungen die Möglichkeit, verschiedene Systeme miteinander zu vergleichen.

Dieser Problematik unterliegt auch der TPC-C-Benchmark, ein von dem Herstellerkonsortium Transaction Processing Performance Council (TPC) normierter Leistungstest für Datenbanksysteme aus Hard- und Software. Der TPC-C ist ein Klassiker. Seine Spezifikation wurde 1990 angestoßen und 1992 fertiggestellt. Er simuliert ein Auftragsabwicklungssystem eines Großhandelsunternehmens - eine klassische Anwendung für Dialogverarbeitung, wie sie auch heute noch in vielen Unternehmen gang und gäbe ist. Die Transaktionen umfassen komplexe Vorgänge wie Auftragseingang, Bezahlung, Auftragsstatus und Lagerbestand. Der TPC-C ist also wirklichkeitsnah. Außerdem werden alle Ergebnisse von der TPC überprüft und sind damit nachvollziehbar und offen.

Doch das betagte Alter hat auch seine negativen Seiten, und so enthält der TPC-C bekannte Schlupflöcher. Unter anderem lässt der Benchmark den Hard- und Softwareherstellern relativ viel Freiheit bei der Optimierung. Diese können die Hersteller vor allem in Cluster-Umgebungen ausnutzen, indem sie die Datenbank so geschickt partitionieren, dass die Kommunikation der Cluster-Knoten verringert wird. Der TPC-C skaliert dann in einer Cluster-Umgebung fast linear; die Leistungsfähigkeit ist also nur von der Zahl der eingesetzten Maschinen abhängig. Diese nach oben zu treiben ist aber im Wintel-Umfeld leicht, da die Server preiswert sind und in großen Stückzahlen hergestellt werden. Auch andere Datenbanksysteme würden von dieser Eigenschaft des Benchmarks profitieren, wenn sie in großen Cluster-Umgebungen vermessen würden.

Die Cluster-Ergebnisse spiegeln aber die Realität nicht wider. In realen Umgebungen lassen sich die Anwendungen nicht so einfach partitionieren. Das zeigt das Beispiel SAP: Nach einigen Versuchen mit Oracles Datenbankcluster "Oracle Parallel Server" (OPS) wurde das Vorhaben aufgegeben, diese Konfiguration für den Einsatz mit R/3 freizugeben. Zurzeit planen die Walldorfer auch nicht, das zu ändern. Das Problem sind die gemischten Zugriffe der R/3-Anwendungs-Server auf die Datenbestände.

Experten sind sich daher darin einig, dass Anwender die Cluster-Ergebnisse ignorieren und nur die Resultate bei SMP-Systemen beachten sollten. Auch die TPC weiß um die Schwäche ihres Flaggschiffs. Daher dokumentiert sie bei Messergebnissen immer, ob diese in einer Cluster-Umgebung oder in Non-Cluster-Umgebungen erzielt wurden. Seit neuestem gibt es sogar zwei getrennte Listen für die jeweiligen Ergebnisse auf der TPC-Website (www.tpc.org). Das dürfte Microsoft aber nicht schmecken. Während der "SQL Server" im ungefilterten TPC-C-Ranking nämlich fünf der sechs ersten Plätze einnimmt, folgt Oracle erst auf Platz sieben. Bei ungeclusterten Systemen sieht das ganz anders aus. Hier liegt Oracle auf den ersten beiden Plätzen und kann sieben der besten zehn Resultate für sich verbuchen. Nur Sybase'' "Adaptive Server" und IBMs "DB2 for AS/400" spielen dort noch mit. Microsoft belegt einen Platz im Mittelfeld - mit etwas mehr als einem Viertel der Leistung des Spitzenreiters.

Immerhin beim Ranking nach Preis-Performance liegt die Wintel-Koalition auch bei ungeclusterten Systemen mit deutlichem Abstand an der Spitze. Dabei ist zwar zu berücksichtigen, dass man bei einer komplexen Datenbank wie Oracle 8i, Sybase Adaptive Server oder DB2 natürlich eine Reihe von Funktionen mitbezahlt, die im TPC-C-Benchmark nicht benutzt werden. Trotzdem sind Intel-Hardware und Microsoft-Datenbank in der Regel preisgünstiger zu haben als Unix-Server mit Highend-Datenbanksystemen. Es hängt also von den spezifischen Anforderungen im Unternehmen ab, ob der Einsatz einer Datenbank wie SQL Server ausreicht oder ob die Features oder die Leistungsfähigkeit von Oracle & Co. benötigt werden.

Obwohl Microsoft also bei der Datenbankleistung aufgeholt hat, liegt dessen Produkt im Vergleich mit dem ärgsten Konkurrenten, Oracle, gemessen an der Spitzenleistung immer noch deutlich zurück. Die Cluster-Ergebnisse, die Microsoft zur Zeit so gerne bewirbt, dienen nur einem Zweck: dem Marketing Argumente an die Hand zu liefern. Hilfestellung bei der Systemauswahl gibt Microsoft damit nicht.

Abb: Microsoft taucht unter den zehn leistungsstärksten Nicht-Cluster-Systemen beim TPC-C-Benchmark nicht auf. Quelle: Transaction Processing Performance Council (TPC)