RDBMS

Ein RDBMS (Relationales Datenbank Management System) ist ein relationales Datenbanksystem, das auf einem relationalen Datenmodell beruht.

Wesentliche Errungenschaften relationaler DBS sind:

  • Ausgereifte, zuverlässige Systeme, die seit den 70er Jahren entwickelt und optimiert werden.
    • RDBMS sind eine exzellente Wahl, wenn die Daten gut strukturiert sind, normalisiert werden können und komplexe Abfrage notwendig sind.
  • Standardisierte Anfragesprache SQL
    • Deklarativ , sehr ausdrucksmächtig und sehr performant
  • Zentrale, redundanzfreie persistente Datenspeicherung
    • und Trigger z.B. für den Fall, dass gewollte Redundanzen zu pflegen sind.
  • Vertikale Datenunabhängigkeit, die eine Trennung zwischen Programmen und Datenspeicherung gewährleistet.
  • Transaktionen und Datenintegrität/-konsistenz

Eine Auswahl bekannter relationale Datenbank Management Systeme:

Eine Genealogie über 60 RDBMS-Systeme seit den 70er-Jahren findet man beim Hajo-Plattner-Institut unter RDBMS Genealogy.

Grenzen relationaler DBMS sind:

  • Web 2.0-Zeitalter mit Datenmengen im Terabyte und Petabyte-Bereich
    • Performance-Probleme bei Anfragen
  • Skalierungsfähigkeit reicht nicht mehr aus
    • Das zugrundeliegende Scale-up-Prinzip rüstet Server technisch immer mehr auf, setzt extrem zuverlässige Hardware voraus und verursacht hohe Investitionskosten.
    • Bei den Administratoren müssen über komplexe und komplizierte Spezialkenntnisse verfügen, um diese Skalierungsfeature nutzen zu können.
  • Schemaänderungen mittels z.B. ALTER-TABLE-Befehlen legen oft längerfristig für Minuten oder Stunden die Anwendung außer Gefecht und bedeuten Ausfälle der Anwendung ober großen Aufwand bei der Verwaltung replizierter Datenbestände. Solche Ausfälle sind für Internet-Anwendungen mit Nutzern in aller Welt nicht tragbar, da findet sich kein Zeitfenster mehr für solche Wartungsarbeiten.
  • Die sehr strikten Konsistenzanforderungen des ACID-Prinzips?, die oberstes Gebot bei RDBMS sind, verlangsamen die Anwendungen bei tausend- und millionenfachem Zugriff für die Anwender unzumutbar.
  • Replikation bei verteilten Systemen kann nur sehr umständlich umgesetzt werden, denn eigentlich sind relationale DB-Systeme für "Ein-Server"-Hardware konzipiert. Die bisherigen Versuche, relationale DB-Systeme und ihre Daten auf Rechner-Cluster zu verteilen, funktionieren zwar, aber die Performanz läßt zu wünschen übrig.

Dort, wo RDBMS an ihre Grenzen stoßen, möchten NoSQL-Systeme weiterhelfen.

Quellen:

  • Edlich, Friedland, Hampe, Brauer: „NoSQL – Einstieg in die Welt der nichtrelationalen Web2.0- Anwendungen“, Hanser-Verlag, 2010, ISBN 978-3-446-42355-8
  • Elmasri, Ramez/Navathe, Shamkant B.: "Grundlagen von Datenbanksystemen" , Pearson Studium, München, 2002, ISBN 3-8273-7021-3
  • Faeskorn-Woyke, Heide/Bertelsmeier, Birgit/Riemer, Petra/Bauer, Elena: "Datenbanksysteme - Theorie und Praxis mit SQL2003, Oracle und MySQL", Pearson Education, München, 2007, ISBN 978-3-8273-7266-6
  • Kemper, Alfons/Eickler, André: "Datenbanksysteme", Oldenbourg, München, 2009, 978-3-486-59018-0
  • Redmond, E, Wilson, J.R.: "Seven Databases in Seven Weeks, A Guide to Modern Databases and the noSQL-Movement", The Pragmatic Programmers, 2012, ISBN 978-1-93435-692-0
  • Saake, Gunter/Sattler, Kai-Uwe/Heuer, Andreas: "Datenbanken - Konzepte und Sprachen", mitp-Verlag, Redline GmbH, Heidelberg, 2007, ISBN 3-8266-1664-2
  • Vossen, Gottfried: "Datenmodelle, Datenbanksprachen und Datenbankmanagementsysteme", Oldenbourg, München, 2008, ISBN 978-3-486-27574-2

Weiterführende Literatur:

  • Frey, M.: „Etablierte Datenmodelle der NoSQL-Familie und ihre spezifischen Eigenschaften im Kontext von Cloud-Datenbanken“, Bachelorarbeit, FH Köln, Institut für Informatik, 08/2010
  • Kossmann, D., Kraska T.: „Data Management in the Cloud: Promises, State- of-the-art and Open Questions“, in „Datenbanken und Cloud-Computing“, Datenbank Spektrum, Band 10 Heft 3, Springer-Verlag, 12.2010, S. 121-129

Weiterführende Links:

Kategorie: Allgemeines, NoSQL, R