SQL vs. NoSql Performance vergleichen

jimb0p

Erfahrenes Mitglied
Hallo Zusammen,

ich möchte für eine Ausarbeitung SQL mit NoSql vergleichen. Dafür habe ich eine Java Anwendung die zu beginn eine SQL und anschließend eine NoSql Datenbank befüllt. Ich möchte am Ende die Leistung, also die Geschwindigkeit der beiden Datenbanken vergleichen. Kann mir jemand sagen wie ich das valide messen kann?

Des weiteren möchte ich auf den Vergleich der jeweiligen Implementierung eingehen, kann man hier pauschal sagen das man bspw. Codezeilen spart wenn man NoSql verwendet bzw. SQL?

Hättet sonst noch jemand Vorschläge was man ausarbeiten kann um die Unterschiede zu zeigen?

Beste Grüße!
 
Moin jimb0p,

nimm es nicht persönlich, aber die Fragestellung(en) sind neben der Spur bzw. so bekommst du ein verzerrtes Bild.

Ein "Performance"-Vergleich von relationalen DBMSen und NoSQL-Implementierungen ist in etwa so sinnvoll wie ein Performance-Vergleich von einem ICE mit einem 5er BMW.

Natürlich sind NoSQL-Datenbanken darauf ausgerichtet, möglichst schnell grosse Datenmengen verarbeiten zu können ("transaktionsoptimiert").
Und du kannst natürlich viele Daten schnell speichern, wenn du auf all das verzichtest, was RDBMSe ganz selbstverständlich mitbringen: PrimaryKeys, Datenkonsistenz (ACID), Lockmechmismen, Backup/Restore, Rechte+Rollenkonzepte, Datenkatalog, Buffers, Caches, Latches,....).

Mit NoSQL kannst du nicht nur viele Daten schnell spreichern, sondern auch sehr schnell ein bestimmtes Objekt (Beispiel Rechnungsnr 12345678) wiederfinden.
Kann ein RDBMS auch. Aber letzteres hat zusätzlich auch Strategien/Algorithmen parat, um in endlicher Zeit Fragen zu beantworten wie "in welchen Rechnungen seit April 2013 ist ArtNr 4711 enthalten, nicht aber Artikel aus Artikelgruppe 0815?" OHNE damit 118 Prozessoren zu beschäftigen.

Die zweite Teilfrage (Zusammenhang Programmieraufwand bei NoSQL vs RDBMS) ergibt sich aus dem oben geschriebenen.
Ein RDBMS bringt eine Menge Nützliches von Haus aus mit. Bei NoQSl kannst du ja mal versuchen, eben mal so Userrechte+Rollenkonzepte zusammenzuschroten oder deinen uinterschiedlichen Applikationen beizubringen, wie denn das Objekt "Rechnungsnr 12345678" (das so schnell gespeichert und wiedergefunden wurde), zu interpretieren ist bzw. welches Byte in diesem Datenklumpen nun was bedeutet.

Was soll denn der Sinn dieser Auswertung sein?

Grüße
Biber
 
Zurück