Tutorial
Aktuelle Trends in der Datenverwaltung
(Current Trends in Data Management)
Halbtägiges Tutorial auf der Informatik 2012
Donnerstag, 20.09.2012 in Braunschweig
Anmeldung bitte über die Informatik 2012
Inhalt
Das relationale Datenbankmodell, das Daten in Tabellen abspeichert und dabei die Daten anhand einer festen Mengen von Attributen (also Tabellenspalten) strukturiert, war über viele Jahrzehnte sehr erfolgreich. Mit SQL besteht zudem eine standardisierte und weitverbreitete Abfrage- und Verwaltungssprache für relationale Datenbanken. Ein Übersetzung von im Alltag vorkommenden Daten in das relationale Tabellenformat ist aber meist nicht problemlos möglich. Im Gegenteil erweist sich eine Speicherung von beliebigen Dokumenten, Objekten in Programmiersprachen, XML-Daten und ähnlichem in relationalen Datenbanken meist als aufwändig. Ein weiterer Problempunkt ist, dass relationale Datenbanken eher für häufige Anfragen auf einem stabilen Datensatz mit relativ seltenen Änderungen ausgelegt sind.
Neue Anforderungen an Datenbankmanagementsysteme führen zu einem Aufleben von Alternativen zu relationalen Systemen, bei denen Daten in anderen Strukturen mit flexiblem Änderungs- und Abfrageverhalten und zudem verteilt auf mehreren Servern gespeichert und verwaltet werden. Unter dem Schlagwort NOSQL (im Sinne von Not Only SQL) firmieren einige Systeme, die sich auf vielfältige Anwendungsfälle konzentrieren und dabei vom relationalen Datenmodell Abstand nehmen. Dieses Tutorium stellt einige dieser NOSQL-Verfahren vor, die zum Beispiel im Cloud Computing oder in sozialen Netzwerken ihre Anwendung finden und daher in Zukunft an Bedeutung gewinnen werden. Im Einzelnen werden behandelt:
- Graph-Datenbanken
Viele Daten können in einer Graphstruktur abgespeichert werden. Während die eigentlichen Datenwerte in den Knoten des Graphen abgelegt werden, stellen Kanten zwischen den Knoten Beziehungen zwischen den einzelnen Datenobjekten dar. Graph-Datenbanken können also etwa ein soziales Netzwerk abbilden, bei dem die Knoten Personen und die Kanten Freundschaftsbeziehungen zwischen den Personen sind. Ein weiteres Beispiel sind Geographiedaten, bei denen die Knoten Städte (oder andere geographische Orte) und die Kanten die Entfernung zwischen den Orten angeben.
- Objektdatenbanken
Seit dem Durchbruch der objektorientierten Programmierung besteht die Notwendigkeit, Objekte aus Programmen direkt in einer Datenbank abspeichern zu können. Die dabei zu beachtenden Besonderheiten sind die Zusammensetzung beliebig komplexer Datentypen aus einfachen Datentypen, Vererbung von Eigenschaften innerhalb einer Klassenhierarchie und Kontrolle eines Datenzugriffs über Kapselung.
- Datenstromverwaltung
Daten werden zunehmend dynamisch erzeugt und müssen zur Laufzeit direkt ausgewertet und kontinuierlich weiterverarbeitet werden. Für Anfragen auf Datenströmen gibt es derzeit nur wenige ausgereifte Systeme.
- XML-Datenbanken
Da XML inzwischen ein weitverbreitetes Datenformat ist, versprechen XML-Datenbanken eine Vorteil, da sie XML-Dokumente direkt in ihrem baumartigen Aufbau abspeichern und verarbeiten können.
- Schlüssel-Wert-Speicher
Große Datenmengen effizient zu verwalten ist nur möglich, wenn die Struktur der Daten und die Ausdrucksstärke der Abfragesprachen stark eingeschränkt werden. Schlüssel-Wert-Speicher erlauben den Zugriff auf einen Datensatz nur über einen Schlüsselwert und unterstützen keine Operationen auf den Daten. Dagegen bieten sie einen performanten und ausfallsicheren Zugriff auf verteilte Daten.
- Spaltenorientierte Datenbanken
Anstatt Tabellendaten - wie in traditionellen relationalen Datenbanken - zeilenweise abzuspeichern, bietet eine spaltenweise Abspeicherung von Daten erhebliche Vorteile; zum Beispiel wenn häufig die Summe aller Daten einer Spalte berechnet wird oder alle Daten innerhalb einer Spalte häufig aktualisiert werden.
Zusammenfassend lässt sich sagen, dass es bisher noch kaum Standards im NOSQL-Bereich gibt. Einige Aspekte - wie etwa Sicherheit oder Datenkonsistenz - sind zum Teil noch nicht ausreichend geklärt. Vorteile dieser alternativen Systeme liegen aber in ihrer Schnelligkeit beim Datenzugriff und der guten Skalierbarkeit bei der Verteilung der Daten auf mehrere Datenbankserver.
Zielgruppe
Das Tutorial wendet sich an AnwenderInnen und WissenschaftlerInnen, die in das Thema NOSQL einsteigen möchten.