Warum relationale Datenbanken mit Big Data nicht mithalten können|Kommentar

Stefano Marmonti 160Die Datenmengen in aller Welt wachsen mit einer derart alarmierenden Geschwindigkeit an und kommen heute aus so vielen Quellen, dass Unternehmen nur mit Mühe Schritt halten können. Die Analysten von IDC rechnen damit, dass das digitale Universum – die Daten, die wir jährlich erstellen und kopieren – bis zum Jahr 2020 ein Volumen von 40.000 Zettabyte oder 40 Billionen Gigabtye erreichen wird. Ein Kommentar von Stefano Marmonti, DACH Sales Director bei MarkLogic.

Der Umgang mit großen Mengen strukturierter und unstrukturierter Daten, auch als „Big Data“ bezeichnet, stellt Unternehmen vor eine echte Herausforderung beim Speichern und Verwalten dieser Daten. Ein Grund sind die relationalen Datenbanken, auf die viele Unternehmen sich immer noch verlassen, obwohl diese Datenbanken vor nunmehr über 30  Jahren eingeführt wurden und für die heutigen Aufgaben einfach nicht mehr geschaffen sind.

Anzeige

In Unternehmen wachsen die Datenmengen schnell und ungehemmt an und sind alles andere als strukturiert und statisch. Es hat daher keinen Zweck, sich auf ein relationales Datenbankmodell von der Stange zu verlassen. Tatsache ist, dass relationale Datenbanken einfach nicht das richtige Werkzeug für den Umgang mit Big Data sind. Die folgenden fünf Gründe belegen dies:

1. Big Data verändert sich ständig

Relationale Datenbanken sind mehr als unflexibel. Innerhalb einer relationalen Datenbank sind die Daten in Zeilen und Spalten angeordnet, die jeweils eindeutige Daten und Attribute enthalten. Die Datenmodellierung kann Monate oder sogar Jahre in Anspruch nehmen, denn in einer relationalen Datenbank muss die Modellierung vor dem Laden der Daten oder der Einrichtung der Anwendung durchgeführt werden. Wenn die Daten sich später ändern, was unweigerlich der Fall ist, kann selbst eine einfache Änderung, wie das Hinzufügen oder Ersetzen einer Spalte, Millionen kosten. Unternehmen benötigen jedoch eine Datenbank-Plattform, die flexibel genug ist, um die rasant wachsenden Datenvolumen zu unterstützen, ohne unter der zunehmenden Last zusammenzubrechen.

2. Big Data tritt in allen Formen und Größen auf

Früher brauchten Unternehmen nur einige wichtige Transaktionsdaten und ein paar grundlegende Fakten über ihre Kunden zu speichern. Heute müssen sie so gut wie alles speichern. In den meisten Unternehmen sind es die heterogenen, unstrukturierten Daten, die den Großteil der Kosten verursachen, weil relationale Datenbanken Schwierigkeiten mit der Verwaltung uneinheitlicher Daten haben. Da relationale Datenbanken vordefinierte Schemas zum Laden von Daten erfordern, besteht die schnellere und einfachere Lösung oft darin, eine neue Datenbank einzurichten. Dies führt allerdings zu Datensilos.

Je mehr Silos auf diese Weise entstehen, desto schwieriger wird es, sie zu pflegen und miteinander zu verbinden. Irgendwann beginnen die Unternehmen, ein Flickwerk aus Wartungscodes herzustellen, um die einzelnen Anwendungen miteinander zu verknüpfen. Die eigentliche Ursache des Problems wird dabei ignoriert. Am Ende funktioniert irgendetwas plötzlich nicht mehr oder wird so langsam, dass Projekte zum Stillstand kommen. Mit anderen Worten: Die Komplexität der relationalen Datenbanken führt dazu, dass Unternehmen nur noch auf der Stelle treten.

3. Die Praxis besteht aus vermischten Aufgaben

Mit „vermischten Aufgaben“ ist die Fähigkeit gemeint, sowohl Betriebs- als auch Analyseabläufe zu bewältigen. Betriebsabläufe umfassen die täglichen Geschäftsvorgänge, die in Echtzeit erfolgen, wie z. B. Käufe durch Kunden. Analyseabläufe dienen der Business Intelligence und Datengewinnung, etwa wenn ein Analyst sich die gesammelten Daten zu Einkäufen über einen bestimmten Zeitraum ansehen möchte.

Mit der Entwicklung relationaler Datenbanken haben sich auch die Datenbank-Architekturen verändert, mit denen die unterschiedlichen Aufgaben bewältigt werden. Leider hat die Trennung zwischen Betriebs-und Analysesystemen notgedrungen dazu geführt, dass unterschiedliche Data Marts, Data Warehouses, Referenzdatenspeicher und Archive entstanden sind. Kein Wunder also, dass IT-Abteilungen so viel Zeit und Geld für die Wartung der Vielzahl von Systemen im Unternehmen aufwenden. Das Problem besteht darin, dass das relationale Modell den IT-Abteilungen diese Komplexität aufzwingt, weil es nicht dazu geschaffen ist, Informationen zum richtigen Zeitpunkt auf die gewünschte Art den richtigen Benutzergruppen zur Verfügung zu stellen. Die Spezialisierung der relationalen Datenbanken ging auf Kosten der Flexibilität.

 4. Die Skalierung relationaler Datenbanken ist schwierig

Skalierbarkeit und Elastizität stellen für relationale Datenbanken eine große Herausforderung dar. Relationale Datenbanken wurden entwickelt, als Datenmengen noch klein, ordentlich und übersichtlich waren. Das ist heute nicht mehr der Fall. Relationale Datenbanken sind für einen einzelnen Server konzipiert, um die Integrität der Tabellenzuordnungen zu erhalten und die Probleme zu vermeiden, die durch verteilte Rechner entstehen. Wenn bei einem solchen Design das System skaliert werden soll, müssen Kunden größere, komplexere und teurere Hardware mit mehr Rechenleistung und Speicherplatz erwerben.

Auch Upgrades sind ein Problem, denn das Unternehmen muss einen langwierigen Kaufprozess durchlaufen und dann das System vom Netz nehmen, um die eigentliche Änderung vorzunehmen. Währenddessen steigt die Zahl der Nutzer weiter an, die Belastung nimmt zu, und das Risiko unzureichender Ressourcen erhöht sich. Außerdem sind relationale Datenbanken nicht für eine Skalierung nach unten konzipiert – ihnen fehlt die nötige Elastizität. Wenn Daten erst einmal bereitgestellt worden sind und zusätzlicher Speicherplatz zugewiesen wurde, ist es fast unmöglich, diese Datenbereitstellung wieder zurückzustufen.

5. Relationale Datenbanken und Anwendungsentwicklung passen nicht zusammen

Heutige Anwendungen werden mit objektorientierten Programmiersprachen wie Java, JavaScript, Python und C # erstellt, um nur einige zu nennen. Bei der Codierung mit diesen Programmiersprachen werden Datenstrukturen als „Objekte“ behandelt, die sich aus Daten und Code zusammensetzen. Das Problem besteht darin, dass sich diese Art der Handhabung von Daten stark von der Verarbeitung in relationalen Datenbanken unterscheidet. Dadurch entsteht eine Diskrepanz zwischen der Datenbank
und der Anwendungsprogrammierung. 

Um diese Diskrepanz zu überbrücken, verwenden die Anwendungsentwickler eine Technik namens objektrelationale Abbildung (OR-Abbildung). Dabei werden anhand von Geschäftsregeln und Logik bestimmte Datenansichten erzeugt, die aus Sicht der Entwickler am sinnvollsten sind. Leider bietet die OR-Abbildung jedoch nur eine Notlösung für ein systemisches Problem relationaler Datenbanken. Anstatt die interessanten Aspekte der Daten innerhalb eines Objekts zu erhalten, werden bei der OR-Abbildung die Daten extrahiert und damit auseinandergerissen. Dadurch entstehen weitere Kosten, eine noch höhere Komplexität, Leistungseinbußen und ein erhöhtes Potenzial für fehlerhafte Codes. Angesichts der schnelllebigen Anwendungsentwicklungszyklen von heute und des Wunsches der Benutzer nach mehr Interaktivität und schnelleren und flexibleren Datenabfrage, zeigt das relationale Modell seine Schwächen. Statt nach Notlösungen für das starre relationale Modell zu suchen, gehen die Entwickler zu neuen Modellen mit einem geringeren Abstraktionsgrad und besserer Leistung über.

NoSQL: Die ideale Datenbank für Big Data

NoSQL ist für Big Data besonders gut geeignet und bietet deshalb eine sinnvolle Alternative zu relationalen Datenbanken mit ihren zahlreichen Herausforderungen. Bedingt durch ihre Skalierbarkeitund Flexibilität bieten NoSQL-Plattformen vielseitige Lösungsansätze für die Anforderungen von Big Data. Diese Datenbank der neuen Generation basiert auf einem flexiblen Datenmodell und kann alle heutigen Daten (JSON, XML, RDF und vielen weitere Formaten) speichern, verwalten und durchsuchen. Dadurch wird die Notwendigkeit der Datentransformation und folglich auch der mit den fehleranfälligen Konvertierungs- und ETL-Prozessen verbundene Verlust von Datenintegrität und Funktionalität minimiert. NoSQL gibt Unternehmen bessere Möglichkeiten zur Bewältigung von Veränderungen an die Hand. Heterogene Daten sind einfacher und schneller integrierbar, unternehmenskritische Anwendungen können leichter entwickelt und ausgeführt werden, und dynamische Inhalte lassen sich in großem Umfang bereitstellen.

Fazit:

Viele der Probleme, die wir heute mit „Big Data“ und der daraus resultierenden Komplexität haben, lassen sich auf relationale Datenbanken zurückführen. Grund genug, um auf eine NoSQL-Plattform mit unternehmenserprobten Funktionen wie ACID-Transaktionen für Datenzuverlässigkeit und transaktionale Konsistenz, Elastizität, Echtzeit-Benachrichtigungen, Hochverfügbarkeit, Disaster Recovery, höchste Sicherheitszertifizierungen und Tiered Storage umzusteigen.

www.marklogic.com

Anzeige

Weitere Artikel

Newsletter
Newsletter Box

Mit Klick auf den Button "Jetzt Anmelden" stimme ich der Datenschutzerklärung zu.