NoSQL in der Cloud – Business Value jenseits des Hypes

14. Juni 2012Andreas Hartmann

Wirft man einen kritischen Blick auf die Buzzwords Cloud Computing und NoSQL stellt sich automatisch die Frage, was haben diese miteinander zu tun und welche Vorteile bringen sie tatsächlich für das Tagesgeschäft.

Die Motivation für Cloud Computing lässt sich recht schnell herleiten. So fängt es im Projektgeschäft meist damit an, dass im Rahmen des initialen Aufsetzens von Test- und Produktionsserver entsprechende Kapazitätsplanungen vorgenommen werden müssen, wobei das System gerade erst entwickelt wird und das konkrete Benutzerverhalten nicht unbedingt zuverlässig vorhersagbar ist. Im schlimmsten Fall hat ein solches Szenario die Präzision wie der Blick in eine Glaskugel zum Vorhersagen der Lottozahlen. Konsequent fortgeführt wird dies dann während der ersten Systemeinrichtung mit der Beantragung von diversen Rechten auf den Systemen, um die notwendigen Konfigurationen vornehmen zu können. Ist das System dann endlich ausgerollt, kann man durchaus auch mal negativ von dem eigenen Erfolg der Anwendung überrascht werden, indem beispielsweise die Rechenleistung oder der Plattenplatz nicht mehr ausreicht. Das ganze wird nicht selten von diversen Meetings mit der IT-Administration flankiert und mit einer nicht geringen Anzahl von Tickets abgerundet bis die entsprechenden Systeme zur Verfügung stehen und stabil laufen. Dieses Vorgehen ist zwar altbewährt, aber sicherlich optimierungsfähig. Hier bietet Cloud Computing mit seinem on-Demand-Konzept eine vielversprechende Alternative.

NoSQL rangiert, genauso wie Cloud Computing, bei den Hype-Themen momentan ganz oben auf der Skala. Deshalb stellt sich auch hier natürlich sofort die Frage, was bringt mir der Einsatz von NoSQL-Lösungen für meinen Business Case? Betrachtet man die Anwendungslandschaft mal etwas näher, stellt sich heraus, dass diese sich weg von der reinen Verwaltung homogener Daten wandelt hin zu vernetzen Daten, deren Struktur sich im Laufe der Zeit ebenfalls verändert. Durch die Vernetzung von einzelnen, auf den ersten Blick für den ordinären Business Case nicht so wertvoll erscheinenden Daten, kann man durch die entsprechende Verknüpfung dieser Daten durchaus ganz neue Erkenntnisse gewinnen oder gar neue Produkte generieren. Diese Domäne war bis dato den Business-Intelligence-Speziallösungen einiger weniger Hersteller vorbehalten. Dieses Einsatzszenario kann sehr schnell zu exponentiell wachsenden Datenbestand führen. Hierbei stößt man dann bei herkömmlichen RDBMS sehr schnell an die Grenzen des technisch machbaren, da diese nur bedingt horizontal skalierbar sind. Des Weiteren sind die RDBMS konzeptionell nicht auf sich häufig ändernde Datenstrukturen und die Vernetzung von Daten ausgelegt.

An dieser Stelle spielen die verschiedenen NoSQL-Lösungen ihre jeweiligen Stärken aus und sind eine ernstzunehmende Alternative zu herkömmlichen RDBMS. Wo Licht ist, ist natürlich auch Schatten. So muss man sich nach Brewer immer für zwei der folgenden drei Eigenschaften Consistency, Availability und Partition tolerance entscheiden. Eine sehr schöne visuelle Einordnung ist hierzu unter http://blog.nahurst.com/visual-guide-to-nosql-systems zu finden. Des Weiteren funktionieren die meisten NoSQL-Lösungen nach dem BASE-Prinzip, siehe hier auch http://stackoverflow.com/questions/3342497/explanation-of-base-terminology, und unterstützen meist keine verteilten Transaktionen. Allerdings bieten die meisten NoSQL-Lösungen durch ihre horizontale Skalierbarkeit einen alternativlosen Lösungsansatz wenn es um Big Data geht. Die volle Stärke wird hierbei dann durch den kombinatorischen Ansatz von Cloud Computing und NoSQL ausgespielt.

Wie im täglichen Leben auch, ist reines Schwarz-Weiß Denken nicht wirklich der eleganteste Weg. So sollte bei dem jeweiligen Business Case zunächst hinterfragt werden, ob ein zusätzlicher Business Value durch den Einsatz von Cloud Computing und NoSQL generiert werden kann und inwiefern eine hybride Persistenz-Lösung, bestehend aus einem herkömmlichen RDBMS und eine NoSQL- Datenbank, nicht der bessere Lösungsweg ist.

Andreas Hartmann Andreas Hartmann ist Principal Software Architect bei der adesso AG sowie Vortragender auf Konferenzen und Autor verschiedener Fachartikel. Sein Tätigkeitsschwerpunkt liegt in der Konzeption und Implementierung von leichtgewichtigen Software-Architekturen auf Basis der JEE-Plattform. Aktuelle Interessensschwerpunkte von Andreas Hartmann sind Cloud Computing und NoSQL.
Artikel bewerten:
1 Star2 Stars3 Stars4 Stars5 Stars
Loading...

Kommentar hinzufügen:

Ihr Kommentar: