Performance-Vergleich von PostgreSQL, SQLite, db4o und MongoDB
Performance-Vergleich von PostgreSQL, SQLite, db4o und MongoDB
Performance-Vergleich von PostgreSQL, SQLite, db4o und MongoDB
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Kapitel: 5 Benchmark<br />
• Die Konfigurationen der installierten DBMS wurden nach deren Installation unverändert<br />
belassen. D.h. Jedes DBMS läuft mit den Standard-Einstellungen resp. Konfigurationen <strong>und</strong> ist<br />
somit nicht optimiert (Out-Of-The-Box).<br />
5.3 Benchmark-Tests <strong>und</strong> Benchmark-Ablauf<br />
In diesem Kapitel soll die Reihenfolge <strong>und</strong> die Art der Abfragen aufgezeigt <strong>und</strong> erklärt werden.<br />
Folgende Auflistung zeigt die Anzahl, Reihenfolge <strong>und</strong> Art der Interaktionen mit dem<br />
entsprechendem DBMS. Zu beachten ist, dass bei jedem Benchmark-Test (BMT) eine allgemein<br />
identische Ausgangslage erstellt wird. D.h. allfällige Dateien oder Datenbanken werden gelöscht<br />
bzw. neu erstellt.<br />
Führe „benchmark.py“ n-Mal für Datenbank d aus<br />
Stelle Initial-Zustand her<br />
Einfügen der Test-Daten<br />
Führe m-Mal aus<br />
Abfrage aller Daten<br />
Führe m-Mal aus<br />
Abfrage auf Gleichheit<br />
Führe m-Mal aus<br />
Kleine <strong>und</strong> grosse Bereichsabfrage<br />
Führe m-Mal aus<br />
Join-Abfrage<br />
Abbildung 5-8: Struktogramm des Ablaufs<br />
Das Python-Script „benchmark.py“ nimmt die drei Parameter „n“, „m“ <strong>und</strong> „d“ entgegen. Die<br />
Parameter haben folgende Bedeutung:<br />
• n: Bestimmt die gesamte Durchführungsanzahl des Benchmarks<br />
• m: Bestimmt die Anzahl der einzelnen Interaktionen<br />
• d: Bestimmt das DBMS für welches der Benchmark ausgeführt wird<br />
5.3.1 BMT-1 Insert - Einfügen der Test-Daten<br />
Für die Durchführung des Benchmarks wird ein Datenvolumen <strong>von</strong> ca. 325’ooo Datensätze<br />
verwendet. Diese werden zu Beginn des Benchmarks in die jeweilige Datenbank eingefügt. Im<br />
Folgenden wird pro DBMS eine verkürzte Variante des Codes, welcher die Daten einfügt, aufgezeigt.<br />
Herbst 2011 15/36