Entwicklung eines Benchmarksystems für NoSQL Datenbanken

Am 14.09.2015 konnte ich meine Bachelor-Arbeit zum Thema NoSQL Benchmarking einreichen, welche anschliessend mit ’sehr gut‘ bewertet wurde. Im Folgenden eine kleine Vorstellung der wesentlichen Ergebnisse:

Ziel der Arbeit war die Bewertung der Fähigkeiten zur Datenanalyse von NoSQL DBS. Hierzu wurde ein modulares Benchmarksystem entworfen und entwickelt, welches anschließend, im Rahmen der Evaluation, auf zwei ausgewählten NoSQL DBS und einem relationalen System angewandt wurde. Die in der Evaluation formulierten Hypothesen stützten sich auf populäre Vermutungen zur Leistungsfähigkeit von NoSQL DBS. Um diese Hypothesen zu überprüfen wurde das entwickelte Benchmarksystem, wie eingangs beschrieben, genutzt.

Die Evaluationsergebnisse, bezogen auf die Hypothesen, ergaben einen Geschwindigkeitsvorteil von NoSQL DBS, im Vergleich zu relationalen Systemen, nur bei lesenden Zugriffen auf Oracle NoSQL. Eine gesteigerte Parallelität erzielte bis zum Faktor acht eine Effizienzsteigerung bei allen DBS. Es stellte sich jedoch keine besondere Eignung von NoSQL DBS heraus. Bestätigt wurde auch die Vermutung, dass Aggregationen innerhalb des DBS einen Geswchwindigkeitsvorteil gegenüber der Verarbeitung innerhalb der Applikation besitzen.

Durch die Evaluation konnte gezeigt werden, dass das Benchmarksystem erfolgreich implementiert wurde und in der Praxis anwendbar ist. Eine Weiterentwicklung für zukünftige Arbeiten ist durch das modulare Framework leicht möglich. Die intensive Einarbeitung in die NoSQL Thematik in Verbindung mit den Erkenntnissen aus den Benchmarks erlaubt einen weiteren Teilbeitrag zu der Fragestellung, welchen Nutzen NoSQL Systeme im Allgemeinen bieten. Dies war keine konkrete Fragestellung der Arbeit, soll jedoch trotzdem im Folgenden kurz angebracht werden.

• Einfachere Entwicklung durch Vermeidung des Impedance Mismatch

NoSQL DBS, außer Graphdatenbanken, kennen keine Relationen und erlauben die Speicherung von Objekten direkt in der Datenbank. Besonders deutlich wird dies durch den zunehmenden Einsatz der JSON. Dies sind Objekte in der Sprache JavaScript die als Aggregat in den DBS abgelegt werden können.

• Geringere Kosten

NoSQL DBS sind im Allgemeinen besonders einfach zu Installieren und zu Konfigurieren. Dies spart Beratungs- und Betriebskosten. Zudem sind die meisten Systeme Open-Source, so dass Lizenzkosten ebenfalls entfallen.

• Eignung für schemalose Daten

Die Eignung für schemalose Daten ist ein Hauptbestandteil aller NoSQL DBS. So können Datenbestände in ihren Attributen dynamisch wachsen. Auch kann so auf ein streng geplantes Datenmodell verzichtet werden.

• Eignung für aggregatorientierte Daten

Insbesondere Document Stores bieten eine besondere Eignung für aggregatorientierte Daten. Besitzen Datensätze keine Beziehung untereinander und bilden ein zusammenhängendes Aggregat, sind Document Stores für diese Aufgabe prädestiniert.

• (Geschwindigkeit)

In bestimmten Anwendungsfällen ist für Key-Value Stores ein Geschwindigkeitsvorteil gegenüber anderen DBS ersichtlich. Dies muss jedoch vorab sorgsam geprüft werden, da NoSQL kein Garant für Geschwindigkeit darstellt, wie die Benchmarkergebnisse gezeigt haben.