Performancevergleich In-Memory OLTP und Fusion IO

Mit der Einführung von In-Memory OLTP im SQL Server 2014 fragen sich sicher viele, ob es nicht ausreicht, die Daten statt im RAM auf einer schnelleren Festplatte, z.B. einer SSD zu halten. Um dieser Fragen nachzugehen, wurde in Zusammenarbeit mit einem anderen Unternehmen am 8.7 und 9.7.2014 in Köln einen zweitägiger Performance-Workshop abgehalten.


Bei diesem wurde u.a. eine von ixto-Mitarbeitern entwickelte ÖPNV-Simulation verwendet, um die Performanceunterschiede zwischen der Datenhaltung mittels traditioneller Festplatten, Fusion-IO Speicherkarten, sowie der In-Memory Datenbankengine im SQL Server 2014 zu messen. Hierbei wird beim Start der Simulation aus der Datenbank das U-Bahnnetz von Berlin mit allen Stationen und Linien geladen. Im Anschluss wird das Verhalten von Zügen und Passagieren simuliert und hierbei anfallende Logdaten von Zügen, Passagieren und Stationen periodisch in die Datenbank geschrieben. Diese Daten können später in Echtzeit z.B. per Tabular Cube ausgewertet werden.

 

Die folgende Abbildung zeigt das Szenario schematisch:

 

Beim Workshop wurde die Schreibperformance für die Logdaten mit den folgenden Konfigurationen getestet:

  • Traditionelle Datenhaltung auf Festplatte (To-Disk HDD)
  • Traditionelle Datenhaltung auf Fusion-IO-Karten (To-Disk Fusion-IO)
  • In-Memory Datenhaltung im Modus Schema Only (XTP Schema Only)
  • In-Memory Datenhaltung mit Sicherung auf SAN (XTP Schema and Data SAN)
  • In-Memory Datenhaltung mit Sicherung auf Fusion-IO-Karten (XTP Schema and Data Fusion IO)

Für diesen Test wurden pro Lauf 17.700.000 Datensätze in eine Tabelle geschrieben. Hierbei werden bei jedem Schreibvorgang ebenfalls Daten aus der Tabelle ausgelesen, sodass eine Mischung aus Schreib- und Lesevorgängen geschieht. Dieser Test wurde pro Speicherkonfiguration 10mal durchgeführt. Die Ergebnisse dieser Tests werden in der folgenden Grafik dargestellt, wobei der Durchschnitt, das Minimum und das Maximum der Testläufe angezeigt werden.

An der Darstellung erkennt man sehr gut, dass die In-Memory Datenbankengine, selbst gegenüber den Fusion-IO-Karten, einen Geschwindigkeitsschub bringt. Beim Modus „Schema Only“ kann gegenüber der Datenhaltung auf einer gewöhnlichen Festplatte ein Beschleunigungsfaktor von 8 erreicht werden. Selbst wenn die Speicherung auf den Fusion-IO-Karten erfolgt, liegt dieser Faktor noch bei 6,5.

 

Auch im Modus „Schema and Data“ kann ein Faktor von rund 6,5 bzw. 4,5 gegenüber der gewöhnlichen Datenhaltung erreicht werden. Es zeigt sich also, dass die neue In-Memory-Datenbankengine im SQL Server 2014 der gewöhnlichen Datenhaltung, selbst beim Einsatz von Fusion-IO Karten, in diesem Szenario deutlich überlegen ist.

Schreibe einen Kommentar