
Mit der Verarbeitung riesiger Mengen an vielfältigen und sich ständig verändernden Daten in den unterschiedlichsten Formaten wie Text, HTML, Binary, sind Unternehmen oftmals überfordert. Denn sie nutzen relationale Datenbanken, die ein Datenmodell erfordern. Eine NoSQL-Datenbank braucht das nicht. Doch welche empfiehlt sich darüber hinaus?
NoSQL-Datenbanken haben den Vorteil, heterogene Daten sehr gut zu verarbeiten und auch die Suche nach einem Datenmodell ist nicht nötig. Gerade wenn unterschiedlichste Daten aus den verschiedensten Datensilos konsolidiert werden sollen, ist NoSQL die richtige Wahl. Aus diesem Grund hat sich NoSQL zu einer sinnvollen Alternative zu relationalen Datenbanken entwickelt, wie z. B. die Enterprise NoSQL Datenbank von MarkLogic.
NoSQL-Datenbanken bieten eine höhere Produktivität bei der Anwendungsentwicklung und mehr Möglichkeiten bei der dynamischen Skalierung, um zusätzliche Benutzer und Daten zu bedienen. Auch die Fähigkeit, hochgradig dynamische Anwendungen zu entwickeln und komplexe Daten zu verarbeiten, spricht für NoSQL – darin sind sich die Befürworter einig.
Auf dem Markt gibt es verschiedenste Anbieter von NoSQL-Datenbanken: Von Open-Source-Lösungen bis zu kommerziellen Anbietern wie z. B. MarkLogic. Bei der Auswahl einer NoSQL-Datenbank kommt es vor allem darauf an, die verfügbaren Optionen und die Anwendungszenarien zu kennen. Deshalb sollten sich Unternehmen diese folgenden fünf Fragen bei der Auswahl einer NoSQL-Datenbank stellen:
- Ist eine Transaktionskonsistenz gegeben und was ist ACID?
ACID steht für Atomicity (Atomarität), Consistency (Konsistenz), Isolation (Isolation) und Durability (Dauerhaftigkeit). Diese Eigenschaften garantieren, dass Datenbanktransaktionen zuverlässig bearbeitet werden. Jede Anwendung, die gleichzeitig verschiedene Clients unterstützt, erfordert Transaktionen mit ACID-Eigenschaften.
ACID-konforme Datenbanksoftware erhöht die Effizienz der Entwickler, fördert einfachere Datenmodelle und gewährleistet die Integrität, Zuverlässigkeit und Langlebigkeit von Daten und Datenbanken. Besonders bei betriebskritischen Anwendungen, die Finanz-, Gesundheits- oder vertrauliche Daten zum Schutz der nationalen Sicherheit umfassen, ist Transaktionskonsistenz unabdingbar.
Als Beispiel sei eine führende Investmentbank genannt, die täglich mehr als 100.000 komplexe Handelsvorgänge verarbeitet. Nach unseren Untersuchungen führen diese in der Regel zu rund 32 Millionen gleichzeitigen Live-Geschäften im System. Zu den Geschäftsvorteilen, die durch ACID-Konformität erzielt werden, gehören die Echtzeit-Überwachung von Risiken, Analysen und Vorgängen sowie kostengünstiges Management des Marktes und der Kreditrisiken. Selbst bei weniger geschäftskritischen Anwendungen sparen Entwickler durch eine ACID-konforme Datenbank Zeit und schonen ihre Nerven. Gleichzeitig wird gewährleistet, dass die Geschäftsergebnisse stimmen.
- Sind Suchfunktionen integriert?
Suchfunktionen und die Möglichkeit zur Abfrage von Daten sind ein wesentliches Element jeder Datenbanksoftware. Dank integrierter Suchfunktionen können Unternehmen ganze Petabytes an Daten, die in mehreren bestehenden Systemen gespeichert sind, in nützliche Informationen und Ergebnisse umwandeln, ohne sie erst „zerstückeln“ zu müssen.
Bei einer nachträglich „aufgesetzten“ Suchlösung dagegen müssen die Daten zunächst auseinandergerissen werden. Dadurch können sich Ergebnisse verzögern, die Leistung kann verringert werden, und auch die Genauigkeit der Daten oder die Möglichkeit, detaillierte Ergebnisse zu untersuchen, können beeinträchtigt werden.
- Bietet die Datenbank Compliance-Funktionen?
Ständig wechselnde Vorschriften und zunehmender Compliance-Druck auf Unternehmen haben zu erhöhten Datenanforderungen geführt. Bitemporale Funktionen verarbeiten Daten gemäß zwei verschiedener Zeitpläne. Dadurch wird es möglich, Informationen zur Beantwortung der Frage: „Was wussten Sie, und wann wussten Sie es?“ abzurufen. Dies ist im Hinblick auf Governance-, Risiko- und Compliance-Überlegungen für alle Geschäftsvorgänge unverzichtbar.
Unternehmen, deren Dienstleistungen die Verarbeitung rechtlicher Dokumente umfassen, erhalten durch bitemporale Funktionen die entscheidende Fähigkeit, die Gültigkeit von Dokumenten zu einem bestimmten Zeitpunkt zu verstehen. Diese Unternehmen müssen in der Lage sein, auf koordinierte Weise das Datum zu überprüfen, an dem ein Dokument ausgestellt wurde, die geltenden Gesetze zu dieser Zeit zu bestimmen und festzustellen, welche Gesetze zu einem späteren Zeitpunkt in Kraft getreten sind.
Finanzinstitute beispielsweise werden durch bitemporale Funktionen in die Lage versetzt, gesetzliche Anforderungen einzuhalten, Audits zu bestehen, das Risiko-Management zu verbessern und Geschäftsanalysen zu geringeren Kosten durchzuführen.
- Was ist finanziell und physisch für die Skalierung erforderlich?
Ein Merkmal, das NoSQL-Systeme gemeinsam haben, ist ihre Fähigkeit, über viele verschiedene Server hinweg zu skalieren. Es ist wichtig, dass Unternehmen schon früh im Entscheidungsprozess verstehen, wie eine Lösung zusammen mit den Datenanforderungen mitwachsen sowie einfach und effizient skaliert werden kann, ohne hohe Zusatzkosten zu verursachen.
Mit relationaler Technologie lässt sich kaum eine dynamische Skalierbarkeit erreichen, ohne dass dabei die Leistung beeinträchtigt wird, die jeder Benutzer von einer Anwendung verlangt. Bei der verteilten Datenverarbeitung hingegen können problemlos mehr Rechner ins System aufgenommen werden, um alle Anforderungen des Benutzers und der Anwendung zu erfüllen.
Zu Zeiten des Mainframe und relationaler Datenbanken war der Aufbau eines Systems mit guter Skalierbarkeit noch komplex und teuer. Doch in der heutigen IT-Landschaft lassen sich Systeme in den meisten Fällen schnell, einfach und erschwinglich durch kostengünstige Commodity-Hardware in jeder Umgebung skalieren – in der Cloud, virtualisiert, vor Ort oder eine Kombination aus allen drei Szenarien.
- Wie wichtig ist Semantik?
In unserer neuen datengesteuerten Welt benötigen Unternehmen Plattformen, die Daten nicht nur aggregieren und integrieren, sondern auch komplexe Daten in einer Weise modellieren, die für Mensch und Computer gleichermaßen leicht verständlich und verwertbar ist. Mithilfe von Semantik werden neue (abgeleitete) Fakten und Beziehungen erkannt, die zu umfassenderen Suchergebnissen führen und neue Zusammenhänge, Muster und Trends in den Daten des Benutzers aufzeigen. Dank dieses klaren, vollständigen Kontextes können Benutzer neue Einsichten erhalten, ihr Verständnis vertiefen und bessere Entscheidungen treffen.
Semantik schafft die Grundlage für eine „Recommendation Engine“, die zum richtigen Zeitpunkt genau das liefert, was die Benutzer sehen wollen, und sich zudem dynamisch an die Suchgewohnheiten einzelner Benutzer anpasst.
Diese fünf Fragen sind ein Leitfaden für alle, die sich mit dem Gedanken beschäftigen eine NoSQL Datenbank anzuschaffen. Es kommt also immer darauf an, welche Applikation oder welchen Zweck die Datenbank erfüllen soll.