ERP-Datenbankmodell der Zukunft

Das richtige Datenbankmodell wird im Bereich der ERP-Systeme in naher Zukunft einen ganz wichtiger Bestandteil zur effizienten Bearbeitung und Auswertung von Unternehmensdaten sein. Vor allem die grosse Menge an unstrukturierten Daten wie geographische Positionsdaten, sensorgenerierte Daten, Social Media-Feeds etc. stellen eine  Herausforderung dar. Diese Daten, allgemein als Big Data bekannt ist, sind heute das Rückgrat der Analyse für viele geschäftskritische Anwendungen.

Es wird davon ausgegangen, dass sich die digitale Datenmenge in den kommenden 5 Jahren auf bis zu 175 Zetabyte verfünffachen wird. Es stellt sich deshalb die Frage in wie fern die heute weit verbreiteten relationalen Datenbanken überhaupt noch in der Lage sind diese enormen Datenmengen verarbeiten zu können.

Heute gibt es zwei Möglichkeiten, um so grosse Daten zu speichern: entweder in relationalen Datenbanken oder in Form von Daten-Mapping. Im Bereich der relationalen Datenbanken ist SQL nach wie vor die beste Lösung, während für das Mapping NoSQL die Antwort der Zukunft ist. NoSQL steht übrigens für «Not Only SQL».

SQL ist auf dem Markt seit Jahren sehr gut akzeptiert, dennoch betrachten Unternehmen NoSQL-Datenbanken zunehmend als Alternative zu relationalen Datenbankmanagementsysteme vor allem für grosse Datenanwendungen und zur effizienten Datenanalyse.

Direkter Vergleich

SQL NoSQL
RDBMS ist eine zeilenorientierte Datenbank (s. Abb.). NoSQL ist eine spaltenorientierte Datenbank (s. Abb.).
RDBMS arbeitet mit strukturierten und verwandten Daten. NoSQL funktioniert sowohl mit unstrukturierten als auch mit unzusammenhängenden Daten.
RDBMSs verwenden ein Schema, d.h. die Struktur der Daten sollte vordefiniert sein. Dynamisch. Es ist kein Schema für die Datenspeicherung erforderlich
SQL-Datenbanken sind vertikal skalierbar und können nur mit verbesserter Hardware skaliert werden. NoSQL-Datenbanken sind horizontal skalierbar und können unbegrenzt Daten speichern.
SQL-Datenbanken sind eine kostspielige Angelegenheit. NoSQL-Datenbanken sind deutlich kostengünstiger.
SQL-Datenbanken verwenden SQL (Structured Query Language) zur Definition und Manipulation der Daten, was sehr leistungsfähig ist. Die Syntax variiert nur sehr gering von Datenbank zu Datenbank. In der NoSQL-Datenbank konzentrieren sich die Abfragen auf die Sammlung von Dokumenten. Manchmal wird es auch als UnQL (Unstructured Query Language) bezeichnet. Die Syntax der Verwendung von UnQL variiert von Datenbank zu Datenbank.
SQL-Datenbank sorgt für Datenintegrität durch Einhaltung von ACID-Compliance. NoSQL-Datenbanken beeinträchtigen manchmal die Datenintegrität, um mit dem großen Datensatz umzugehen.
RDBMS-Datenbanken sind lizenzbasiert. NoSQL-Datenbanken sind Open-Source.

Wie ersichtlich, folgen NoSQL und SQL völlig unterschiedlichen Datenmodellen. Im Falle einer relationalen Datenbank werden zusammenhängende Tabellen mit Zeilen und Spalten gepflegt. Diese Tabellen referenzieren sich über Fremdschlüssel. Daher werden zum Zusammenführen oder Ausführen von Abfrageinformationen verwendet, um aus verschiedenen Tabellen zu sammeln. Diese Informationen werden dann zusammengeführt und daraus erzeugt. In den heutigen Unternehmensstrukturen können diese zusammenhängenden Tabellen Hunderte sein! Bei kleineren Datenvolumen sind auch solch komplexe Abfragen beherrschbar. Dies jedoch unter der Prämisse der Performance. Bei Echtzeitabfragen mit grossen Datenmengen ist dies in Zukunft jedoch nicht mehr die Lösung. NoSQL bietet dem Benutzer die erforderliche Flexibilität, da es dokumentenorientiert ist und Daten im JSON-Format (Dokumentenobjektmodell) speichert.

 

Kurzglossar (Quelle: Wikipedia):

NoSQL: NoSQL bezeichnet Datenbanken, die einen nicht-relationalen Ansatz verfolgen und damit mit der langen Geschichte relationaler Datenbanken brechen. Diese Datenspeicher benötigen keine festgelegten Tabellenschemata und versuchen Joins zu vermeiden. Sie skalieren dabei horizontal.

SQL: SQL ist eine Datenbanksprache zur Definition von Datenstrukturen in relationalen Datenbanken sowie zum Bearbeiten und Abfragen von darauf basierenden Datenbeständen. Die Sprache basiert auf der relationalen Algebra, ihre Syntax ist relativ einfach aufgebaut und semantisch an die englische Umgangssprache angelehnt

JSON: Die JavaScript Object Notation, kurz JSON, ist ein kompaktes Datenformat in einer einfach lesbaren Textform zum Zweck des Datenaustauschs zwischen Anwendungen. Jedes gültige JSON-Dokument soll ein gültiges JavaScript sein und per eval interpretiert werden können.

RDBMS: Ein relationales Datenbank-Management-System (RDBMS) ist eine spezielle Art eines DBMS. Relationale DBMS wurden in den 1970er Jahren entwickelt und sind seitdem das dominante Konzept für die Verwaltung von Datenbanken

ACID: ACID, deutsch auch AKID, ist eine Abkürzung in der Informatik. Es beschreibt häufig erwünschte Eigenschaften von Transaktionen in Datenbankmanagementsystemen (DBMS) und verteilten Systemen. Es steht für englisch atomicity, consistency, isolation und durability.

Veröffentlicht am 10. Mai 2019

Kommentar schreiben