Direkt zu


Informationen für Studierende

zur Startseite

Projekt-INF

Evaluation von NoSQL-Datenspeichern für Smart Devices
Projekt Privacy in Stream Processing
Betreuer Dr. rer. nat. Christoph Stach
Prüfer PD Dr. rer. nat. habil. Holger Schwarz
Ende2018/06/13
Beschreibung

Ausgangssituation

NoSQL-Datenspeicher, also Datenbanksysteme, die einen nicht-relationalen Ansatz verfolgen, gewinnen insbesondere im Kontext von Big Data immer mehr an Bedeutung [8]. Dies resultiert im Wesentlichen aus zwei Eigenschaften von NoSQL-Systemen: Einerseits skalieren sie horizontal (d.h. weitere Rechenknoten können bei Bedarf auch zur Laufzeit hinzugefügt werden), wodurch sie sehr gut mit großen Datenmengen umgehen können. Andererseits lassen sich mit diesen Systemen sehr gut unstrukturierte Daten speichern, da kein starres Datenschema vorliegt. Somit lassen sich auch heterogene Daten sehr einfach ablegen und kombinieren. Hierdurch lassen sich gegenüber SQL-Ansätze häufig Performanzsteigerungen erzielen [4]. Unter NoSQL wird jedoch eine Vielzahl an unterschiedlichen Ansätzen subsumiert, wie beispielsweise Column Stores [2], Document Stores [9] oder Key/Value Stores [7]. Die Auswahl des richtigen Ansatzes variiert dabei je nach Anwendung und Performanzmetrik [1].

Auch Smart Devices müssen mit einer Vielzahl an heterogenen Sensordaten umgehen. Nichtsdestotrotz sind auf diesen Systemen SQL-Datenbanken prädominant [3]. Messungen deuten darauf hin, dass, bedingt durch die fehlende horizontale Skalierung auf diesen Geräten, NoSQL-Datenspeicher eine wesentlich schlechtere Performanz in diesem Umfeld besitzen [6].

Ziel und Aufgabenstellung

Im Rahmen dieses ProjektINFs soll daher untersucht werden, ob sich die Messungen von Trevor Perrier und Fahad Pervaiz [6] auch für andere Anwendungsfälle im Kontext von Smart Devices bestätigen lassen. Zu diesem Zweck sollen fünf NoSQL-Systeme für Android (Couchbase Lite[1], Nitrite Database[2], ObjectBox[3], Paper[4] und Realm Database[5]) mit der in Android integrierten SQLite-Datenbank[6] verglichen werden. Im Rahmen einer Performanzevaluation sollen mehrere in diesem Kontext relevante Maßzahlen (z.B. Laufzeit oder Akkuverbrauch) für Speicherung, Update und Anfrage von drei Datenobjekttypen mit unterschiedlicher Komplexität ermittelt und miteinander verglichen werden. Neben diesen Messwerten sollen auch die Eigenschaften dieser Systeme (z.B. interne Speicherstruktur oder angebotene API) untersucht und gegenübergestellt werden. Hierbei soll der Fokus insbesondere auf den sich daraus ergebenden Aufwand für App-Entwickler und etwaige Einschränkungen bzgl. der Einsatzmöglichkeit liegen. Da eine Synchronisation von Daten mit einem zentralen Server von Android plattformseitig nicht unterstützt wird [5], soll ebenfalls untersucht werden, wie sich dies in jedem der sechs zu vergleichenden Systeme, realisieren lässt.

Zu bearbeitende Teilaufgaben

  • Entwurf von drei Datenmodellen mit unterschiedlicher Komplexität
  • Implementierung von sechs Apps zur Erfassung von Performanzmetriken
  • Analyse der Eigenschaften der sechs zu untersuchenden Datenspeicher
  • Analyse der Performanz der sechs zu untersuchenden Datenspeicher
  • Analyse der Datensynchronisationsmöglichkeiten für die untersuchten Datenspeicher
    • Ausführliche Diskussion der Ergebnisse
    • Persistrierung der Analyseergebnisse (z.B. in Form einer Ultimate Comparison[7])
    • Vorstellung der Ergebnisse im Rahmen eines wissenschaftlichen Vortrags

Organisatorisches

Art der Arbeit

ProjektINF

Titel

Evaluation von NoSQL-Datenspeichern für Smart Devices

Englischer Titel

Evaluation of NoSQL Data Stores for Smart Devices

Betreuer

Dipl.-Inf. Christoph Stach

Prüfer

PD Holger Schwarz

 

Literatur

[1]        Klein, J., Gorton, I., Ernst, N., Donohoe, P., Pham, K., and Matser, C. Performance Evaluation of NoSQL Databases: A Case Study. In PABS ’15.

[2]        Lakshman, A., and Malik, P. Cassandra: A Decentralized Structured Storage System. ACM SIGOPS Operating Systems Review 44, 2 (2010), 35–40.

[3]        Mahmoud, Q. H., Zanin, S., and Ngo, T. Integrating Mobile Storage into Database Systems Courses. In SIGITE ’12.

[4]        Parker, Z., Poe, S., and Vrbsky, S. V. Comparing NoSQL MongoDB to an SQL DB. In ACMSE ’13.

[5]        Pascual, V. S., and Xhafa, F. Contact Synchronization for the Android Platform. In 3PGCIC ’11 (2011).

[6]        Perrier, T., and Pervaiz, F. NoSQL in a Mobile World: Benchmarking Embedded Mobile Databases. Tech. rep., University of Washington, 2013.

[7]        Sattar, A., Lorenzen, T., and Nallamaddi, K. Incorporating NoSQL into a Database Course. ACM Inroads 4, 2 (2013), 50–53.

[8]        Tamane, S. Non-Relational Databases in Big Data. In ICTCS ’16.

[9]        Wang, L., Zhang, S., Shi, J., Jiao, L., Hassanzadeh, O., Zou, J., and Wangz, C. Schema Management for Document Stores. Proceedings of the VLDB Endowment 8, 9 (2015), 922–933.