21.11.2013 Aufrufe

Performance-Vergleich von PostgreSQL, SQLite, db4o und MongoDB

Performance-Vergleich von PostgreSQL, SQLite, db4o und MongoDB

Performance-Vergleich von PostgreSQL, SQLite, db4o und MongoDB

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Kapitel: 5 Benchmark<br />

cursor.execute("""SELECT count(*) FROM raindrop""")<br />

Abbildung 5-13: Abfragen aller Test-Daten in "<strong>PostgreSQL</strong>" <strong>und</strong> „<strong>SQLite</strong>“<br />

query.Constrain(clr.GetClrType(Raindrop))<br />

result = query.Execute()<br />

Abbildung 5-14: Abfragen aller Test-Daten in "<strong>db4o</strong>"<br />

db.raindrop.find().count()<br />

Abbildung 5-15: Abfragen aller Test-Daten in "<strong>MongoDB</strong>"<br />

5.3.3 BMT-3 Equal - Abfrage auf Gleichheit<br />

Im Folgenden wird pro DBMS einen Code-Ausschnitt, welcher die Daten mit der x-Koordinate 200<br />

abfragt, aufgezeigt.<br />

cursor.execute("""SELECT count(*) FROM raindrop WHERE x = 200""")<br />

Abbildung 5-16: Abfragen der Test-Daten auf x-Koordinate 200 in "<strong>PostgreSQL</strong>"<br />

cursor.execute('SELECT count(*) FROM raindrop WHERE x=200')<br />

Abbildung 5-17: Abfragen der Test-Daten auf x-Koordinate 200 in "<strong>SQLite</strong>"<br />

query.Constrain(clr.GetClrType(Raindrop))<br />

query.Descend("_x").Constrain(200)<br />

result = query.Execute()<br />

Abbildung 5-18: Abfragen der Test-Daten auf x-Koordinate 200 in "<strong>db4o</strong>"<br />

db.raindrop.find({"x": 200}).count()<br />

Abbildung 5-19: Abfragen der Test-Daten auf x-Koordinate 200 in "<strong>MongoDB</strong>"<br />

5.3.4 BMT-4 Small-/Large-Range - Kleine <strong>und</strong> grosse Bereichsabfrage<br />

Im Folgenden wird pro DBMS einen Code-Ausschnitt, welcher die Daten mit der x-Koordinate 200<br />

abfragt, aufgezeigt.<br />

Folgende Code-Ausschnitte zeigen eine Abfrage über einen Bereich der Test-Daten. Dabei werden<br />

zwei unterschiedlich grosse Bereiche abgefragt. Bei der kleineren Abfrage wird nur einen Zehntel<br />

<strong>und</strong> bei der grösseren Abfrage die mittlere Hälfte der Daten ausgelesen. Folgende Abbildung zeigt<br />

die betroffenen Regionen der beiden Abfragen.<br />

Herbst 2011 17/36

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!