Skip to main content
main-content

Über dieses Buch

Die Autoren führen in das Gebiet der relationalen (SQL) und nicht-relationalen (NoSQL) Datenbanken ein. Themenschwerpunkte in der 8. Auflage bilden Datenmanagement, Datenmodellierung, Abfrage- und Manipulationssprachen, Konsistenzgewährung, Datenschutz und -Sicherheit, Systemarchitektur, Mehrbenutzerbetrieb. Das Buch bietet außerdem einen Überblick über postrelationale und nicht-relationale Datenbanksysteme. Neben klassischen Konzepten werden wichtige Aspekte für NoSQL-Datenbanken erläutert, wie das Verfahren Map/Reduce, Verteilungsoptionen (Fragmente, Replikation) oder das CAP-Theorem (Consistency, Availability, Partition Tolerance). Eine Webseite ergänzt den Inhalt des Buches durch Tutorien für Abfrage- und Manipulationssprachen (SQL, Cypher), Übungsumgebungen für Datenbanken (MySQL, Neo4j) sowie zwei Fallstudien zu travelblitz (OpenOffice Base, Neo4j). Das Buch richtet sich sowohl an Studierende, die eine Einführung in das Gebiet der SQL- und NoSQL-Datenbanken suchen, wie auch an Praktiker, denen es hilft, Stärken und Schwächen relationaler Ansätze sowie Entwicklungen für Big-Data-Anwendungen besser einschätzen zu können.

Inhaltsverzeichnis

Frontmatter

1. Datenmanagement

Zusammenfassung
Das Datenmanagement umfasst alle betrieblichen, organisatorischen und technischen Aufgaben, die der unternehmensweiten Datenhaltung, Datenpflege, Datennutzung sowie dem Business Analytics dienen. Relationale Datenbanksysteme speichern Daten und Datenbeziehungen ausschließlich in Tabellen. Zudem stellen sie die international standardisierte Sprache ‚Structured Query Language (SQL)’ zur Verfügung. Bei massiv verteilten Daten im Web oder bei Big Data Anwendungen muss die relationale Datenbanktechnologie mit NoSQL-Technologien ergänzt werden, um Webdienste rund um die Uhr und weltweit anbieten zu können.
Andreas Meier, Michael Kaufmann

2. Datenmodellierung

Zusammenfassung
Ein Datenmodell beschreibt auf strukturierte und formale Weise die für ein Informationssystem notwendigen Daten und Datenbeziehungen. Das Festlegen von Datenklassen (im Fachjargon Entitätsmengen genannt) und das Bestimmen von Beziehungsmengen geschieht vorerst unabhängig davon, ob zur Datenhaltung SQL- und/oder NoSQL-Technologien angewendet werden. Erst in einem zweiten Schritt wird das logische Datenmodell (hier Entitäten-Beziehungsmodell) auf das konkrete Datenmodell abgebildet, wobei für das Relationenmodell und das Graphenmodell Abbildungsregeln existieren. Diese überführen nicht nur Entitätsmengen und Beziehungsmengen in konkrete Datenbankkonstrukte, sondern auch Generalisierungshierarchien und Aggregationsstrukturen.
Andreas Meier, Michael Kaufmann

3. Datenbanksprachen

Zusammenfassung
Zum erfolgreichen Betreiben einer Datenbank ist eine Sprache erforderlich, mit der die unterschiedlichen Bedürfnisse aller Anspruchsgruppen abgedeckt werden können. Formale Grundlage der Sprache SQL bildet die Relationenalgebra (resp. das Relationenkalkül); neben mengenorientierten Operatoren wie Vereinigung, Differenz oder kartesisches Produkt gibt es auch relationenorientierte Operatoren wie Projektion und Selektion. Das Kapitel behandelt die graphbasierte Sprache Cypher sowie unterschiedliche Optionen zur Einbettung von Datenbanksprachen in einer Wirtssprache. Zudem werden Integritätsbedingungen, Nullwerte (Dreiwertlogik) sowie Sprachkonstrukte zum Datenschutz und zur Datensicherheit vorgestellt.
Andreas Meier, Michael Kaufmann

4. Konsistenzsicherung

Zusammenfassung
Unter dem Begriff der Konsistenz oder Integrität einer Datenbank versteht man den Zustand widerspruchsfreier Daten. Integritätsbedingungen sollen garantieren, dass bei Einfüge- oder änderungsoperationen die Konsistenz der Daten jederzeit (strong consistency) oder zeitlich verz­gert (weak consistency) gewährleistet bleibt. Neben pessimistischen Verfahren (z.B. mittels Sperrprotokollen) existieren optimistische Verfahren, die nur im Konfliktfall die gegenseitig behindernden Transaktionen auflösen müssen. Bei massiv verteilten Webanwendungen ist aufgrund des sogenannten CAP-Theorems die Konsistenz (C=Consistency) lediglich verzögert gewährleistet, falls hohe Verfügbarkeit (A=Availability) und Ausfalltoleranz (P=Partition Tolerance) angestrebt werden.
Andreas Meier, Michael Kaufmann

5. Systemarchitektur

Zusammenfassung
Bei der Systemarchitektur gilt als unabdingbares Prinzip, voneinander unabhängige Systemebenen mit klaren Schnittstellen einzuführen. Formuliert ein Anwender seinen Auswertungswunsch mit der Hilfe von SQL, so wird dieser Aufruf in einen Anfragebaum übersetzt. Dabei bilden die Blätter die Input-Tabellen und die Knoten die Operatoren der Relationenalgebra. Das Datenbanksystem übernimmt die Optimierung der Anfrage und wertet die Datenbank mit geeigneten Speicher- und Zugriffsstrukturen aus. Mit dem sogenannten Map/Reduce-Verfahren lassen sich die Aufgaben in massiv verteilten Datenbanken parallelisieren und effizient lösen.
Andreas Meier, Michael Kaufmann

6. Postrelationale Datenbanken

Zusammenfassung
Postrelationale Datenbanksysteme sind Erweiterungen klassischer relationaler Softwareprodukte. Mit Replikaten oder Fragmenten lassen sich föderierte Datenbanksysteme entwickeln. Eine besondere Herausforderung bildet die Gültigkeitszeit, die bei temporalen Datenbanken Anwendung findet. Ein Data Warehouse besteht im Kern aus einem mehrdimensionalen Datenwürfel, wobei die gespeicherten Kennzahlen entlang unterschiedlicher Auswertungsdimensionen analysiert werden können. Neben objektrelationalen und wissensbasierten Datenbanken versucht man mit der Hilfe von unscharfen Methoden (Fuzzy Logic) und linguistischen Ansätzen, unpräzise oder vage Sachverhalte auszuwerten. Dieser Lösungsansatz gewinnt bei Big Data an Bedeutung.
Andreas Meier, Michael Kaufmann

7. NoSQL-Datenbanken

Zusammenfassung
Viele webbasierte Anwendungen setzen für die unterschiedlichen Dienste adäquate Datenhaltungssysteme ein. Die Nutzung einer einzigen Datenbanktechnologie, z.B. der relationalen, genügt nicht mehr. Key Value Stores sind einfach-strukturierte NoSQL-Datenbanksysteme, die sämtliche Daten in der Form von Schlüssel-Wertpaaren speichern. Werden die Merkmale einer Tabelle spaltenweise und nicht zeilenweise organisiert, erhðlt man die Spalten-Datenbanken, die sich zu Spaltenfamilien-Systemen erweitern lassen. Neben den Dokument- und XML-Datenbanken organisieren die Graphdatenbanken Objekte in Knoten und Beziehungen zwischen Objekten in Kanten.
Andreas Meier, Michael Kaufmann

Backmatter

Weitere Informationen

Premium Partner

    Bildnachweise