Kostenloser Leitfaden: So implementieren Sie eine NoSQL ......EINFÜHRUNG Besonders treffend...

15
Kostenloser Leitfaden: So implementieren Sie eine NoSQL-Strategie

Transcript of Kostenloser Leitfaden: So implementieren Sie eine NoSQL ......EINFÜHRUNG Besonders treffend...

Page 1: Kostenloser Leitfaden: So implementieren Sie eine NoSQL ......EINFÜHRUNG Besonders treffend beschreibt ein SiliconANGLE-Artikel aus dem Jahr 2013 das aktuelle und voraussichtliche

Kostenloser Leitfaden: So implementieren Sie eine

NoSQL-Strategie

Page 2: Kostenloser Leitfaden: So implementieren Sie eine NoSQL ......EINFÜHRUNG Besonders treffend beschreibt ein SiliconANGLE-Artikel aus dem Jahr 2013 das aktuelle und voraussichtliche

Kostenloser Leitfaden: So implementieren Sie eine NoSQL-Strategie

2

CONTENTSZusammenfassung � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 3

Einführung � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 3

Warum entscheiden sich immer mehr Unternehmen für NoSQL? � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 3

Der Ruf nach schnellen Reaktionszeiten � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 4

Die Notwendigkeit skalierbarer Architekturen � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 4

Ständig Verfügbarkeit als kritischer Erfolgsfaktor � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 5

Standortunabhängigkeit für globale Geschäftsmodelle � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 6

Flexible Plattform für alle Datentypen � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 6

Enorme Kosteneinsparungen � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 6

Hürden für die NoSQL-Nutzung in Unternehmen � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 7Technische Hürden 7Nicht-technische Hürden 8

Ist NoSQL das Richtige für Sie? � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 9Online-Anwendungen: : 10Analyse-Anwendungen: 10Enterprise-Suchanwendungen: 10

So finden Sie die richtige NoSQL-Datenbank für Ihr Unternehmen � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 11Wichtige Auswahlkriterien 11

Checkliste für Unternehmen � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 11Technische Aspekte 11Geschäftsanforderungen 12

Welche Cloud-Aspekte sollten Sie bei NoSQL-Datenbanken beachten? � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 13

Der Schritt in Richtung NoSQL � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 14

Migration von Daten nach NoSQL-Datenbanken � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 14

Fazit � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 15

Über DataStax � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � 15

Page 3: Kostenloser Leitfaden: So implementieren Sie eine NoSQL ......EINFÜHRUNG Besonders treffend beschreibt ein SiliconANGLE-Artikel aus dem Jahr 2013 das aktuelle und voraussichtliche

Kostenloser Leitfaden: So implementieren Sie eine NoSQL-Strategie

3

ZUSAMMENFASSUNGSchätzungen zufolge soll der Markt für NoSQL-Datenbanken in den kommenden Jahren dreimal schneller wachsen als der SQL-Markt� Wer sich zum ersten Mal mit Big-Data-Technologien befasst, möchte daher bestimmt wissen, warum und inwiefern NoSQL-Technologien das Richtige für seine Organisation sind� Die Nachfrage nach mehr Geschwindigkeit und Skalierung, ständiger Verfügbarkeit, Standortunabhängigkeit, Kostenreduzierung sowie der Fähigkeit, sämtliche Datentypen zu verwalten, beflügelt den Siegeszug dieser Technologien. Sicherlich gibt es einige Hürden zu überwinden – ob technischer oder nichttechnischer Natur – und es ist wichtig, sich damit auseinanderzusetzen� Dennoch sollte man auch einen Blick auf die Verbesserungen werfen, die sich im NoSQL-Ökosystem ergeben haben� Anwendungsszenarien entwickeln sich zunehmend zu wichtigen Indikatoren, die zeigen, wann und wie Organisationen NoSQL-Technologien nutzen sollten� Dieser Leitfaden beleuchtet diese Themen und bietet praktische Tipps für die Implementierungsstrategie sowie eine Checkliste und nützliche Ratschläge für die Migration�

EINFÜHRUNG Besonders treffend beschreibt ein SiliconANGLE-Artikel aus dem Jahr 2013 das aktuelle und voraussichtliche Wachstum von NoSQL-Technologien: „Einer Analyse von Wikibon-Mitarbeiter David Floyer zufolge (so steht es ebenfalls im Wall Street Journal) soll der Markt für NoSQL-Datenbanken zwischen 2011 und 2017 um knapp 60 Prozent wachsen. Im Gegensatz dazu soll der SQL-Anteil des Big-Data-Markts im selben Zeitraum um nur 26 Prozent zunehmen�“1

Immer mehr große Unternehmen nutzen NoSQL-Lösungen für zentrale Anwendungen in geschäftsrelevanten Bereichen� Viele IT-Experten, die NoSQL derzeit nicht nutzen, möchten daher auch gerne wissen, warum und wie sie die Technologie in ihren eigenen Organisationen einsetzen können�

Dieses Whitepaper beschreibt eine grundlegende NoSQL-Implementierungsstrategie für Unternehmen und zeigt auf, warum immer mehr Unternehmen auf NoSQL-Lösungen setzen� Anhand von Beispielen wird darüber hinaus erläutert, wie moderne Unternehmen NoSQL heute nutzen und welche Hürden bei der Implementierung von NoSQL auftreten können� Neben wertvollen Tipps und Ratschlägen, wie man am besten eine NoSQL-Datenbank auswählt, erläutert das vorliegende Whitepaper zudem praktische Möglichkeiten für die Implementierung von NoSQL-Lösungen in verschiedenen Anwendungsszenarien�

WARUM ENTSCHEIDEN SICH IMMER MEHR UNTERNEHMEN FÜR NOSQL? Bevor Sie sich fragen, wie eine NoSQL-Strategie für Ihr Unternehmen aussehen könnte, sollten Sie herausfinden, warum erfolgreiche moderne Unternehmen heute auf NoSQL-Lösungen setzen� Anschließend sollten Sie prüfen, ob diese Motive auch für Ihre Organisation relevant sind. Im Folgenden finden Sie eine Auswahl der wichtigsten Gründe, warum Unternehmen NoSQL-Datenbanken für die kritischen Anwendungen ihrer Geschäftsbereiche implementieren�

1 „Oracle is in Big Trouble: Big Data is to Blame“ (Oracle steht in großen Schwierigkeiten – Schuld daran sind Big Data“, von Maria Deutscher, SiliconANGLE, März 2013: http://goo.gl/ODA7g.

Page 4: Kostenloser Leitfaden: So implementieren Sie eine NoSQL ......EINFÜHRUNG Besonders treffend beschreibt ein SiliconANGLE-Artikel aus dem Jahr 2013 das aktuelle und voraussichtliche

Kostenloser Leitfaden: So implementieren Sie eine NoSQL-Strategie

4

DER RUF NACH SCHNELLEN REAKTIONSZEITEN Kaum jemand wird bestreiten, dass man bei externen Interaktionen durch schnellere Reaktionszeiten die Kundenzufriedenheit und den Umsatz direkt beeinflussen kann. Amazon stellte z. B. fest, dass jede Reduzierung um 100 ms bei der Reaktionszeit seiner Website netto einen um 1 Prozent höheren Umsatz einbrachte. Yahoo gab an, dass sich die Besucherzahl auf seiner Website für jede Performancesteigerung um 400 ms um 9 Prozent verbesserte.2

Datenbankexperten haben schon immer von einem universellen Datenbankparameter „schnell=wahr“ geträumt, mit dem ihre Datenbank jederzeit blitzschnell läuft. Obwohl es keine solche Konfiguration gibt, ist eine Sache gewiss: Gerade heute, wo nur einen Klick weit entfernt unzählige Wettbewerber auf Ihre Kunden lauern, sind schnelle Reaktionszeiten bei Datenbanken so wichtig wie nie zuvor�

Weil sie in vielerlei Hinsicht nicht so umständlich sind wie relationale Datenbanken (RDBMS), bieten NoSQL-Datenbanken in zahlreichen Szenarien eine deutlich schnellere Performance� Ein charakteristischer Vorteil von NoSQL-Lösungen wie Apache Cassandra ist, dass sie Daten wesentlich schneller als ein RDBMS schreiben und gleichzeitig bei großen Datenmengen eine genauso hohe Abfragegeschwindigkeit gewährleisten�

Genau aus diesem Grund nutzt eBay DataStax Enterprise auf Apache Cassandra� Auch eBay ersetzte seine herkömmlichen Datenbanken mit DataStax Enterprise, weil – nach eigener Aussage – die veralteten relationalen Engines zu langsam für zentrale Teile seiner externen Anwendungen waren. Mit 6 Milliarden Schreibvorgängen sowie 5 Milliarden Lesevorgängen am Tag und 250 Terabyte an verwalteten Daten in Cassandra kann das Unternehmen jetzt seine SLAs im Hinblick auf die Antwortzeiten zuverlässig erfüllen�3

Für zusätzliche Performancesteigerungen kann man auf In-Memory-Computing-Datenbanken zurückgreifen� Zwar kommen In-Memory-Datenbanken nicht mit allen Anwendungsfällen zurecht, doch in der richtigen Konstellation können sie die Antwortzeiten oft verkürzen�

Deshalb bietet DataStax Enterprise eine In-Memory-Datenbank-Option, mit der sich unterschiedliche Datenlasten denkbar einfach gezielt abwickeln lassen� Kalte Daten lassen sich Spinning-Disks zuordnen, heißere Daten SSDs� Daten, die eine schnellstmögliche I/O-Antwortzeit benötigen, werden dabei für In-Memory-Objekte markiert. Das findet alles im selben Datenbank-Cluster statt�

DIE NOTWENDIGKEIT SKALIERBARER ARCHITEKTUREN Skalierbarkeit und Performance gehen Hand in Hand� Unternehmen müssen heute schnelle Antwortzeiten gewährleisten und gleichzeitig die wachsende Zahl an Benutzern und Daten in ihren geschäftsrelevanten Anwendungen bewältigen� Traditionelle Scale-up-Architekturen – das hat sich leider herausgestellt – können keine zukunftssichere Skalierbarkeit für solche Systeme bieten�

NoSQL-Datenbanken wie Apache Cassandra verfügen dagegen über eine Scale-out-Divide-and-Conquer-Architektur, die nachweislich eine lineare Skalierbarkeit4 bietet� Zusätzlich können neue Nodes online und ohne jegliche Geschäftsunterbrechung hinzugefügt werden�

2 http://www.strangeloopnetworks.com/assets/images/infographic2.jpg3 „EBay Leveraging Cassandra to Support Growing Multi-structured Data Volumes“ (Wie eBay Cassandra einsetzt, um die wachsende Menge unterschiedlich strukturierter Daten zu bewälti-gen), von Jeff Kelly, 9. Mai 2013, Wikibon: http://goo.gl/tLHkB. 4 „Benchmarking Cassandra Scalability on AWS“ (Vergleich: die Skalierbarkeit von Cassandra auf AWS), von Adrian CockCroft, November 2011: http://goo.gl/G8NUa.

Page 5: Kostenloser Leitfaden: So implementieren Sie eine NoSQL ......EINFÜHRUNG Besonders treffend beschreibt ein SiliconANGLE-Artikel aus dem Jahr 2013 das aktuelle und voraussichtliche

Kostenloser Leitfaden: So implementieren Sie eine NoSQL-Strategie

5

Ein Paradebeispiel für diesen Ansatz ist Ooyala, ein Unternehmen, das Firmen wie ESPN und Rolling Stone Video- und Datenanalyseplattformen bietet� Ooyala verfolgt und analysiert jeden Tag ein Viertel aller Videoaufrufe im Web� Das entspricht Milliarden von Ereignissen, die über ihre DataStax Enterprise- bzw� Cassandra-Scale-out-Datenbank-Cluster gestreamt werden� Laut Ooyala konnte die veraltete Scale-up-Datenbank-Implementierung unmöglich die nötige Skalierbarkeit und Performance gewährleisten, so dass man sich stattdessen für Cassandra entschied�

STÄNDIG VERFÜGBARKEIT ALS KRITISCHER ERFOLGSFAKTOR Während eine langsame Performance Kunden vertreiben kann, sind Ausfälle die absolute Katastrophe� Laut den IT-Experten der Gartner Group stellen Ausfälle ein größeres Risiko für Unternehmen dar als Sicherheitslücken�5 Schätzungen gehen von bis zu 6,5 Millionen $ Umsatzverluste pro Stunde bei Finanzinstituten aus. Unabhängig von der Branche liegt der Durchschnitt bei 5.600 $ pro Minute bzw. über 300.000 $ pro Stunde.6

Es gibt einen Unterschied zwischen einem Hochverfügbarkeitsansatz mit Failover, den RDBMS mit ihren Master-Slave-Architekturen bieten, und der kontinuierlichen Verfügbarkeit, die NoSQL-Datenbanken wie Apache Cassandra gewährleisten� Mit einem Scale-out-Masterless-Design und Unterstützung für mehrere Datencenter und Cloud-Verfügbarkeitszonen garantiert Cassandra null Ausfallzeiten� Dabei sind redundante Kopien von Daten und Funktionen durch ein Cluster über mehrere Standorte hinweg verteilt�

Netflix, das als größte Cloud-Anwendung der Welt gilt7, nutzt Cassandra, um null Ausfallzeiten für seine Kunden sicherzustellen, und speichert dabei 95 Prozent seiner Daten in Cassandra. Als es bei Amazon 2012 zu einem großen Ausfall kam, liefen bei Netflix alle Prozesse weiter: „Wir mussten überhaupt nichts tun. Cassandra hat Anfragen um die nicht verfügbare Zone herumgeleitet� Nach Wiederherstellung dieser Zone, war der Ring auch schon repariert�”8

STANDORTUNABHÄNGIGKEIT FÜR GLOBALE GESCHÄFTSMODELLEPraktisch alle erfolgreichen Unternehmen sind heutzutage global tätig� Daher ist die Fähigkeit, Daten innerhalb kürzester Zeit an mehreren Standorten bereitzustellen, von entscheidender Bedeutung� Wegen ihrem zugrundeliegenden Master-Slave-Design haben veraltete RDBMS Schwierigkeiten mit schnellen Lesevorgängen über diverse Standorte hinweg� Darüber hinaus bieten sie einfach keine – für viele Unternehmen so wichtige – Write-Everywhere-Funktion�

NoSQL-Datenbanken wie Cassandra können ohne Weiteres Daten über mehrere Datencenter und Cloud-Verfügbarkeitszonen hinweg verteilen� Außerdem sind aufgrund der Peer-to-Peer-Architektur von Cassandra sowohl Read- als auch Write-Anywhere-Funktionen möglich, sodass bei Daten eine echte Standortunabhängigkeit gewährleistet ist�

Unternehmen wie Adobe schätzen diese Cassandra-Funktion sehr� Für seine Marketing-Cloud-Anwendung führt Adobe seinen DataStax Enterprise-/Cassandra-Datenbank-Cluster zwischen zwei Datencentern aus� Auf diese Weise können seine Kunden Daten blitzschnell lesen und schreiben, egal wo sie sich befinden.

5 „Gartner’s state of cloud security: Outages are bigger risk than breaches“ (Gartner zum Thema Cloud-Sicherheit: Ausfälle stellen ein größeres Risiko als Datenlücken dar), von Brandon Butler, 14. November 2012: http://goo.gl/mpnm3. 6 Confronting System Downtime“ (Systemausfälle gezielt in Angriff nehmen), Evolven: http://goo.gl/jWQty.7 „The biggest cloud app of all: Netflix“ (Netflix – die größte Cloud-App, die es je gab), von Steven J. Vaughan-Nichols, ZDnet, April 2013: http://goo.gl/KQRKr.8 „Post-mortem of October 22,2012 AWS degradation“ (Post-mortem-Analyse des AWS-Ausfalls am 22. Oktober 2012), Netflix Tech Blog, Oktober 2012: http://goo.gl/X20sp.

Page 6: Kostenloser Leitfaden: So implementieren Sie eine NoSQL ......EINFÜHRUNG Besonders treffend beschreibt ein SiliconANGLE-Artikel aus dem Jahr 2013 das aktuelle und voraussichtliche

Kostenloser Leitfaden: So implementieren Sie eine NoSQL-Strategie

6

STANDORTUNABHÄNGIGKEIT FÜR GLOBALE GESCHÄFTSMODELLE Praktisch alle erfolgreichen Unternehmen sind heutzutage global tätig� Daher ist die Fähigkeit, Daten innerhalb kürzester Zeit an mehreren Standorten bereitzustellen, von entscheidender Bedeutung� Wegen ihrem zugrundeliegenden Master-Slave-Design haben veraltete RDBMS Schwierigkeiten mit schnellen Lesevorgängen über diverse Standorte hinweg� Darüber hinaus bieten sie einfach keine – für viele Unternehmen so wichtige – Write-Everywhere-Funktion�

NoSQL-Datenbanken wie Cassandra können ohne Weiteres Daten über mehrere Datencenter und Cloud-Verfügbarkeitszonen hinweg verteilen� Außerdem sind aufgrund der Peer-to-Peer-Architektur von Cassandra sowohl Read- als auch Write-Anywhere-Funktionen möglich, sodass bei Daten eine echte Standortunabhängigkeit gewährleistet ist�

Unternehmen wie Adobe schätzen diese Cassandra-Funktion sehr� Für seine Marketing-Cloud-Anwendung führt Adobe seinen DataStax Enterprise-/Cassandra-Datenbank-Cluster zwischen zwei Datencentern aus� Auf diese Weise können seine Kunden Daten blitzschnell lesen und schreiben, egal wo sie sich befinden.

FLEXIBLE PLATTFORM FÜR ALLE DATENTYPEN Die Vielfalt heutiger Datentypen stellt traditionelle relationale Datenbanken vor eine Herausforderung und ist gleichzeitig einer der Hauptgründe, warum Unternehmen zunehmend auf NoSQL-Lösungen umsteigen� NoSQL-Datenbanken wie Cassandra bieten ein deutlich flexibleres Datenmodell, das problemlos mit strukturierten, halbstrukturierten und unstrukturierten Daten zurechtkommt und dabei im Hinblick auf die Speicherung leistungsstark und effizient arbeitet.

Die NASA nutzt Cassandra für Sicherheitsanwendungen, die sämtliche Hardware- und Software-Patches rund um den Globus nachverfolgen. Dabei geht es sowohl um strukturierte als auch um unstrukturierte Daten. Durch das flexible Datenmodell von Cassandra konnte die Raumfahrtagentur Daten auf wesentlich natürlichere Art einfügen als mit ihrem vorherigen RDBMS� Zusätzlich wurden die Reaktionszeiten für den Abruf von Daten reduziert�

ENORME KOSTENEINSPARUNGEN Der Siegeszug von NoSQL in Unternehmen ist nicht zuletzt auch auf sein großes Einsparpotential zurückzuführen� Für RDBMS werden nach wie vor extrem hohe Preise verlangt, insbesondere für einige der neuen Mainframe-Scale-up-Appliances, die in letzter Zeit eingeführt wurden. NoSQL-Lösungen wie DataStax Enterprise kosten in der Regel 70 bis 80 Prozent weniger als ältere relationale Systeme und laufen zudem auf kosteneffizienter, handelsüblicher Hardware.

Constant Contact, ein Unternehmen, das viele kleinen Firmen im Marketingbereich unterstützt, konnte nach dem Umstieg auf DataStax vor zwei Jahren enorme Kosteneinsparungen realisieren� Das Unternehmen musste seine Systeme skalieren, konnte sich aber die hohen Kosten seines früheren RDBMS-Anbieters nicht leisten� Daraufhin entschied man sich für ein Scale-out-Design und DataStax Enterprise und schaffte es, das neue System zu 90 Prozent geringeren Kosten als mit der vorherigen Datenbank und in ein Drittel weniger Zeit, als dies schätzungsweise mit dem alten RDBMS gedauert hätte, zu implementieren�

Obwohl Constant Contact jetzt Hunderte DataStax Enterprise-Nodes hat, ist kein zusätzlicher Administrator nötig, um die Datenbank-Cluster zu verwalten� Stattdessen kümmert sich Personal in Teilzeit neben anderen Systemen um die Datenbank�

Page 7: Kostenloser Leitfaden: So implementieren Sie eine NoSQL ......EINFÜHRUNG Besonders treffend beschreibt ein SiliconANGLE-Artikel aus dem Jahr 2013 das aktuelle und voraussichtliche

Kostenloser Leitfaden: So implementieren Sie eine NoSQL-Strategie

7

Sicherlich haben Unternehmen auch andere Gründe, um eine NoSQL-Lösung zu implementieren� In diesem Whitepaper haben wir uns auf Überlegungen konzentriert, die von DataStax-Kunden am häufigsten zitiert werden. Die nächste Frage im Rahmen einer künftigen NoSQL-Strategie ist, welche Stolpersteine einem erfolgreichen Umstieg im Wege stehen können�

HÜRDEN FÜR DIE NOSQL-NUTZUNG IN UNTERNEHMEN NoSQL-Lösungen sind zwar für viele Anwendungsfälle äußerst vielversprechend� Dennoch räumen Unternehmen, die NoSQL-Initiativen erfolgreich umgesetzt haben ein, dass es gewisse Aspekte gibt, die IT-Experten beachten sollten, bevor sie die Technologie unternehmensweit einführen� Hierbei geht es um technische, aber auch um nicht-technische Hürden�

9 „Why NoSQL Equals No Security“ (Warum NoSQL für null Sicherheit steht), von Michael Davis, InformationWeek, März 2012: http://goo.gl/4E5Ac. 710 S. „What’s New in DataStax Enterprise 3.0?“ (Was ist neu bei DataStax Enterprise 3.0?), http://goo.gl/GW1vb.

Technische Hürden Hier einige der größten technischen Schwierigkeiten, mit denen erfolgreiche Unternehmen bei der Implementierung von NoSQL-Lösungen zu kämpfen hatten:

Unterschiedliche Datenmodelle: Für Unternehmen ist das größte technische Problem ganz deutlich der mentale Schritt vom relationalen Datenmodell zum NoSQL-Datenmodell� Der Erfolg von Projekten hängt entscheidend davon ab, ob das IT-Team die Daten für die NoSQL-Datenbank korrekt modelliert hat, so dass die Funktionalität maximal genutzt werden kann� Daher ist es umso wichtiger, dass die Datenbankexperten geschult werden und sich eingehend mit dem neuen NoSQL-Datenmodell in der gewählten Datenbank vertraut machen�

Mangel an Sicherheit: 2012 brachte InformationWeek einen speziellen Artikel mit dem Titel „NoSQL Equals No Security“ (NoSQL steht für null Sicherheit) heraus�9 Darin schrieb der Autor über fehlende Sicherheitsfunktionen in NoSQL-Datenbanken und dass dies gegen eine Nutzung in Umgebungen sprechen könnte, in denen strenge Regeln für die Datensicherheit erforderlich sind� Während einige NoSQL-Datenbanken keine Sicherheitsfunktionen umfassen, bietet DataStax Enterprise sehr wohl Sicherheitsfeatures der Enterprise-Klasse, die den meisten Sicherheitsanforderungen in Unternehmen entsprechen�10

Unterstützung für AKID-Transaktionen: Die Tatsache, dass die meisten NoSQL-Datenbanken keine Transaktionen auf AKID-Ebene unterstützen, bereitet einigen IT-Experten Sorgen� Zugegeben, wenn Ihre Zielanwendung komplexe, verschachtelte Transaktionen benötigt, die wiederum Rollbacks und Savepoints erfordern, dann ist eine NoSQL-Datenbank vermutlich nicht das Richtige� Dennoch sollte man beachten, dass eine NoSQL-Datenbank wie Cassandra in der Tat Atomarität, Dauerhaftigkeit und Isolierung (AID) bietet, wobei sich die Konsistenz (K) individuell bestimmen lässt: entweder „eventual“ oder „strong“, je nachdem was die Anwendung oder der Prozess benötigt� Auch eine Transaktionsunterstützung für Batches ist möglich�

Page 8: Kostenloser Leitfaden: So implementieren Sie eine NoSQL ......EINFÜHRUNG Besonders treffend beschreibt ein SiliconANGLE-Artikel aus dem Jahr 2013 das aktuelle und voraussichtliche

Kostenloser Leitfaden: So implementieren Sie eine NoSQL-Strategie

8

Nicht-technische Hürden Hier einige der größten nichttechnischen Probleme, mit denen Unternehmen bei der Implementierung von NoSQL-Systemen zu kämpfen hatten:

Erfahrenes Personal finden: Zum Glück verliert dieses Problem immer mehr an Bedeutung, da NoSQL mittlerweile in viel mehr Unternehmen als noch vor ein paar Jahren genutzt wird und NoSQL-Anbieter zahlreiche Kurse zu diesem Thema anbieten� Bei Mitarbeitern, die auf NoSQL umsteigen, wird die Lernkurve je nach ausgewählter Technologie variieren� Einige NoSQL-Datenbanken wie Cassandra unterstützen das schnelle Umsatteln weil die primäre Sprachschnittstelle fast identisch mit SQL ist�

Technischer „Glaubenskrieg“: In vielen Unternehmen führen unterschiedliche IT-Experten eine Art Glaubenskrieg gegeneinander� Es bilden sich Allianzen zu bestimmten Technologien und jeder Versuch, neue Lösungen einzubringen, stößt auf Widerstand� Verfechter der alten Technologie bestehen oft darauf, dass diese immer noch jede beliebige Aufgabe lösen kann� Um diese Situation zu überwinden sollte man technische und nichttechnische Faktoren objektiv analysieren und unabhängige IT-Manager zu Rate ziehen�

Bedenken über die Überlebensfähigkeit von Anbietern: IT-Verantwortliche, die langfristig auf eine bestimmte Technologie setzen, haben gern die Gewissheit, dass der Anbieter auf lange Sicht überleben wird� Kleine Start-ups mit wenigen Kunden sorgen natürlich eher für Skepsis und Bedenken, während Unternehmen mit einer großen und wachsenden Kundenbasis sowie einer bewährten Supportabteilung die nötige Gewissheit bieten�

Page 9: Kostenloser Leitfaden: So implementieren Sie eine NoSQL ......EINFÜHRUNG Besonders treffend beschreibt ein SiliconANGLE-Artikel aus dem Jahr 2013 das aktuelle und voraussichtliche

Kostenloser Leitfaden: So implementieren Sie eine NoSQL-Strategie

9

IST NOSQL DAS RICHTIGE FÜR SIE? Wir wissen jetzt, warum immer mehr Unternehmen NoSQL-Technologien nutzen und welche Probleme sie bei der Implementierung typischerweise vorfinden. Doch es bleibt eine weitere wichtige Frage: Wie können Sie feststellen, ob eine NoSQL-Technologie das Richtige für Sie ist? Am besten sollten Sie zunächst die Chancen analysieren, die NoSQL für Ihr Unternehmen – also für Ihre Branche und Ihren Anwendungsfall bietet�

Die Gartner Group hat auf Basis der Big-Data-Hauptmerkmale (Geschwindigkeit, Vielfalt, Menge, Komplexität etc�) folgende Heatmap entwickelt� Sie bietet einen interessanten Einblick darüber, wie verschiedene Branchen weltweit von NoSQL-Technologien profitieren können:

Abbildung 1 – Big-Data-Heatmap der Gartner Group, aufgeschlüsselt nach verschiedenen Industrien

Bank

ing

and

Secu

ritie

s

Potential big data opportunity on each dimension is:

Source: Gartner (July 2012)

Very hot (compared with other industries)HotModerateLowVery low (compared with other industries)

Volumeof Data

Volumeof Data

Volumeof Data

Volumeof Data

Volumeof Data

Volumeof Data

Volumeof Data

Com

mun

icat

ions

,M

edia

and

Ser

vice

s

Educ

atio

n

Bank

ing

and

Secu

ritie

s

Bank

ing

and

Secu

ritie

s

Bank

ing

and

Secu

ritie

s

Bank

ing

and

Secu

ritie

s

Bank

ing

and

Secu

ritie

s

Bank

ing

and

Secu

ritie

s

Bank

ing

and

Secu

ritie

s

Bank

ing

and

Secu

ritie

s

Bei der Evaluierung möglicher Anwendungsfälle, für die sich NoSQL-Technologien gut eignen könnten, sollte man zuerst die größeren Kategorien Online-, Analyse- und Suchanwendungen betrachten (hier sollte man natürlich beachten, dass eine einzige Anwendung aus einer Kombination dieser drei Typen bestehen kann)�

Im Folgenden finden Sie eine Auswahl der Anwendungsfälle, die NoSQL-Technologien wie Apache Cassandra, Hadoop und Solr heute unterstützen:

Page 10: Kostenloser Leitfaden: So implementieren Sie eine NoSQL ......EINFÜHRUNG Besonders treffend beschreibt ein SiliconANGLE-Artikel aus dem Jahr 2013 das aktuelle und voraussichtliche

Kostenloser Leitfaden: So implementieren Sie eine NoSQL-Strategie

10

Online-Anwendungen: :

Feeds von Verlaufsdiagrammen (Finanzdaten oder andere zeitbasierte Informationen)

Geräte-/Sensor-/Data-„Exhaust“-Systeme

Verteilte Transaktionsanwendungen

Medien-Streaming

Online-Einzelhandel (z� B� Transaktionen, Warenkörbe)

Echtzeitdatenanalyse

Erfassung und Analyse von Social-Media-Daten

Web-Clickstream-Analyse

Schreibintensive Transaktionssysteme

Analyse-Anwendungen:

Analyse des Käuferverhaltens

Compliance-/regulatorische Analyse

Ergebnisse der Kundenempfehlungen

Betrugserkennung

Risikoanalyse

Analysen von Vertriebskampagnen

Supply-Chain-Analyse

Batch-Web-Clickstream-Analyse

Enterprise-Suchanwendungen:

Allgemeine Websuche

Umfangreiche Kategoriesuche im Online-Einzelhandel

Such-/Treffer-Priorisierung und -Markierung

Anwendungsprotokollsuche und -analyse

Dokumentensuche und -analyse (z� B� PDF, MS Word)

Geografische Suche

Suche nach Immobilienstandorten und Grundstücken

Übereinstimmungen in den sozialen Medien

Page 11: Kostenloser Leitfaden: So implementieren Sie eine NoSQL ......EINFÜHRUNG Besonders treffend beschreibt ein SiliconANGLE-Artikel aus dem Jahr 2013 das aktuelle und voraussichtliche

Kostenloser Leitfaden: So implementieren Sie eine NoSQL-Strategie

11

SO FINDEN SIE DIE RICHTIGE NOSQL-DATENBANK FÜR IHR UNTERNEHMEN Die Website nosql-database.org listet aktuell über 150 verschiedene NoSQL-Datenbanken auf. Wie sollen Sie eine solche Liste auf ein paar Kandidaten eingrenzen, die sich für Ihre Anwendungsfälle eignen könnten?

Wichtige Auswahlkriterien Um die verschiedenen NoSQL-Datenbanken voneinander zu unterscheiden, sollten Sie einen genauen Blick auf ihre Funktionen und Features werfen� Folgende Kriterien helfen Ihnen dabei, die Suche einzugrenzen:

Das Datenmodell: Zunächst sollten Sie sich überlegen, welche Datentypen Sie speichern müssen und wie das Start-/Endformat aussieht� NoSQL-Datenbanken unterscheiden sich wesentlich in puncto Datenmodell (z� B� Speicher mit breiten Reihen, Dokumente, Graphen etc�) und eine Diskrepanz zwischen dem Datenmodell einer NoSQL-Lösung und der Zielanwendung kann verheerende Folgen für ein Projekt haben�

Die voraussichtliche Skalierbarkeit: Die nächste Frage lautet, in welchem Umfang eine Anwendung voraussichtlich wachsen wird und welche Skalierbarkeit erforderlich ist� Manche NoSQL-Datenbanken sind Hauptspeicher und ermöglichen kein Scale-out über mehrere Geräte hinweg, während sich andere wie Cassandra linear über viele Rechner hinweg skalieren lassen�

Das Datenverteilungsmodell: Man sollte sich überlegen, wie weit die Daten verteilt werden müssen, ob man mehrere geographische Regionen unterstützt oder, ob man das Modell für Disaster-Recovery oder andere Funktionen benötigt� Außerdem geht es um die Frage, ob sowohl Lese- als auch Schreibvorgänge in verteilten Standorten unterstützt werden müssen� Manche NoSQL-Datenbanken nutzen Master-Slave-Architekturen (obwohl sie manchmal „primär/sekundär“ heißen), die lediglich Lesevorgänge skalieren können� Im Gegensatz dazu können Peer-to-Peer-Architekturen sowohl Lese- als auch Schreibvorgänge skalieren�

CHECKLISTE FÜR UNTERNEHMEN Eine detailliertere Checkliste für NoSQL-Datenbanken finden Sie weiter unten. Sie zeigt, ob sich eine NoSQL-Datenbank für einen bestimmten Anwendungsfall eignet und berücksichtigt dabei sowohl technische als auch betriebswirtschaftliche Aspekte�

Technische Aspekte

Kann die NoSQL-Datenbank als primäre Datenquelle für die beabsichtigte Online-Anwendung dienen?

Lässt sich die NoSQL-Datenbank als Analyse-Datenquelle betreiben und/oder problemlos mit Hadoop-Prozessen verknüpfen? Und kann sie diese Prozesse unterstützen?

Kommt die NoSQL-Datenbank mit Enterprise-Suchsoftware zurecht bzw� lässt sie sich nahtlos damit integrieren?

Kann die NoSQL-Datenbank Online-, Analyse- und Suchprozesse in einer einzigen Anwendung isolieren?

Wie sicher ist die NoSQL-Datenbank, z. B. was den Verlust kritischer Daten betrifft? Sind Schreibvorgänge von dauerhafter Natur, sodass die Daten sicher sind?

Page 12: Kostenloser Leitfaden: So implementieren Sie eine NoSQL ......EINFÜHRUNG Besonders treffend beschreibt ein SiliconANGLE-Artikel aus dem Jahr 2013 das aktuelle und voraussichtliche

Kostenloser Leitfaden: So implementieren Sie eine NoSQL-Strategie

12

Bietet die NoSQL-Datenbank robuste Sicherheitsfeatures?

Ist die NoSQL-Datenbank fehlertolerant (d�h� hat sie keine Single Points of Failure) und bietet sie eine ständige Verfügbarkeit?

Ist die NoSQL-Datenbank ohne Weiteres in der Lage, Daten zwischen denselben und verschiedenen Datencentern sowie unterschiedlichen Cloud-Verfügbarkeitszonen zu replizieren?

Bietet die NoSQL-Datenbank Read-/Write-Anywhere-Funktionen?

Erfordert die NoSQL-Datenbank spezielle Caching-Ebenen oder kommt sie ohne diese aus?

Bietet die NoSQL-Datenbank eine In-Memory-Computing-Option?

Kommt die NoSQL-Datenbank mit Big Data zurecht und kann sie unabhängig von der Datengröße eine hohe Performance sicherstellen?

Bietet die NoSQL-Datenbank lineare Skalierbarkeit, z� B� wenn es darum geht, neue Nodes hinzuzufügen?

Lassen sich neue Nodes online hinzufügen und entfernen (d� h� ohne Auswirkungen auf die Geschäftsprozesse)?

Unterstützt die NoSQL-Datenbank wichtige Plattformen/Entwicklersprachen?

Läuft die NoSQL-Datenbank auf handelsüblicher Hardware ohne spezielle Hardwareanforderungen?

Lässt sich die NoSQL-Datenbank auf einfache Weise implementieren? Lässt sie sich auch in großen Implementierungen ohne Weiteres pflegen?

Geschäftsanforderungen

Stammt die NoSQL-Lösung von einem kommerziellen Anbieter?

Bietet der kommerzielle Anbieter 24/7-Support und Services der Enterprise-Klasse?

Ermöglicht die NoSQL-Lösung eine professionelle Onlinedokumentation?

Hat die NoSQL-Lösung Kundenreferenzen in vielen verschiedenen Industrien?

Bietet die NoSQL-Datenbank eine attraktive Kosten-/Preisstruktur?

Falls es sich um Open Source handelt: Verfügt die NoSQL-Datenbank über eine aktive und engagierte Open-Source-Community?

Page 13: Kostenloser Leitfaden: So implementieren Sie eine NoSQL ......EINFÜHRUNG Besonders treffend beschreibt ein SiliconANGLE-Artikel aus dem Jahr 2013 das aktuelle und voraussichtliche

Kostenloser Leitfaden: So implementieren Sie eine NoSQL-Strategie

13

WELCHE CLOUD-ASPEKTE SOLLTEN SIE BEI NOSQL-DATENBANKEN BEACHTEN? Die Menge an Informationen, die derzeit einzig und allein in der Cloud vorliegen, ist gering, doch das wird sich bald ändern� Einer Studie des IT-Marktforschungsunternehmens IDC zufolge macht Cloud-Computing heute weniger als 2 Prozent der IT-Ausgaben aus. Bis 2015 sollen allerdings knapp 20 Prozent aller Informationen mit der Cloud in Berührung kommen (d� h� sie werden entweder dort gespeichert oder verarbeitet)�11 Darüber hinaus sagt IDC voraus, dass bis zum selben Jahr knapp 10 Prozent aller Daten in einer Cloud gehalten werden.12

Die Cloud verspricht viele Dinge: Transparente Flexibilität und Skalierbarkeit, höhere Verfügbarkeit, eine einfachere Datenverteilung, eine leichtere Manageability und vieles mehr� Hier sollte man aufpassen: Zwar behaupten viele Datenbank-Anbieter, dass ihre Datenbank „Cloud-ready“ ist, doch gemeint ist oft nur, dass man einfach eine Instanz seiner Datenbank bei einem Cloud-Anbieter installieren und ausführen kann� Noch wichtiger ist die Frage, ob die Datenbank alle oder zumindest den Großteil der Vorteile bietet, die eine Ausführung in der Cloud mit sich bringt�

Egal ob es sich um ein veraltetes RDBMS oder eine NoSQL-Datenbank handelt: Wenn es darum geht, von den Vorteilen des Cloud-Computing zu profitieren, stellt man sich sehr ähnliche Fragen. Wir empfehlen Ihnen, jedem NoSQL-Datenbank-Anbieter, den Sie für die Cloud in Erwägung ziehen, folgende Fragen zu stellen:

11 „Extracting Value from Chaos“ (Wie Sie aus einem großen Durcheinander wertvolle Daten gewinnen), von John Gantz und David Reinsel, IDC, Juni 2011, http://idcdocserv.com/1142.12 ebd.

Bietet die Datenbank eine transparente Flexibilität sowie die Möglichkeit, sie ohne Ausfallzeiten zu vergrößern bzw� zu verkleinern?

Lassen sich durch ein Scale-out in der Cloud zusätzliche Kapazitäten realisieren und wenn ja, wie groß ist der Nutzen, den man erhält?

Kann die Datenbank ohne Weiteres die verschiedenen Verfügbarkeitszonen des Cloud-Providers nutzen, sodass auch beim Ausfall einer oder mehrerer Zonen eine kontinuierliche Verfügbarkeit gewährleistet ist?

Bietet die Datenbank Sicherheitsfeatures, die einen Schutz der Daten in der Cloud gewährleisten?

Stellt der NoSQL-Anbieter Verwaltungstools für die Verwaltung und Überwachung der Datenbank beim Cloud-Provider bereit?

Welcher Kostenunterschied ergibt sich in einem Zeitraum von 3 bis 5 Jahren, wenn man die entsprechende NoSQL-Datenbank lokal bzw� in der Cloud verwendet?

Page 14: Kostenloser Leitfaden: So implementieren Sie eine NoSQL ......EINFÜHRUNG Besonders treffend beschreibt ein SiliconANGLE-Artikel aus dem Jahr 2013 das aktuelle und voraussichtliche

Kostenloser Leitfaden: So implementieren Sie eine NoSQL-Strategie

14

DER SCHRITT IN RICHTUNG NOSQL Wie können Sie aus praktischer Sicht den Umstieg auf NoSQL vollziehen und Ihre erste Anwendung implementieren? Generell gibt es drei Möglichkeiten, um eine NoSQL-Datenbank zu implementieren:

Neue Anwendungen: Viele, die mit NoSQL durchstarten, wählen eine neue Anwendung und starten quasi von Grund auf neu� Durch einen solchen Ansatz entfallen zum Beispiel Datenmigrationen und es ist auch nicht nötig, Anwendungen neu zu schreiben�

Erweiterung: Manche Unternehmen beschließen, ein bestehendes System um eine NoSQL-Komponente zu erweitern. Das passiert häufig bei Anwendungen, die aus einem RDBMS „herausgewachsen“ sind, sei es weil eine bessere Verfügbarkeit erforderlich ist oder aufgrund von Skalierungs- oder anderen Problemen� Teile des bestehenden Systems nutzen weiterhin das vorhandene RDBMS, während andere Komponenten der Anwendung modifiziert werden, sodass sie die NoSQL-Datenbank nutzen.

Komplettaustausch: Systeme, die einfach zu kostspielig aus RDBMS-Sicht sind oder in vielerlei Hinsicht an ihre Grenzen stoßen – zum Beispiel aufgrund einer Zunahme der Datengeschwindigkeit, der Datenmenge oder der Anzahl an gleichzeitigen Benutzern –, werden komplett mit einer NoSQL-Datenbank ersetzt�

MIGRATION VON DATEN NACH NOSQL-DATENBANKEN Sowohl bei der Erweiterung als auch beim Komplettaustausch ist eine Migration der Daten aus dem bestehenden RDBMS in die neue NoSQL-Datenbank erforderlich� Wie Sie die veralteten Daten migrieren, hängt von deren Menge ab:

Laden von Flatfiles: Fast jedes RDBMS ermöglicht es, Daten aus Tabellen in Flat Files zu exportieren, die in irgendeiner Weise begrenzt sind. NoSQL-Datenbanken wie Cassandra verfügen über Flatfile-Loader, die solche Dateien direkt in Tabellen/Spaltenfamilien laden�

Sqoop: Sqoop ist ein Tool, das in Hadoop genutzt wird, um Daten aus alten Datenbanken in Hadoop zu verschieben� Auch Cassandra unterstützt Sqoop, sodass Entwickler eine Verbindung zu einem bestehenden RDBMS und Cassandra herstellen und Daten direkt in die neue Datenbank übertragen können�

ETL-Tools: Wenn ein höherer Grad an technischer Raffinesse für die Datenmigration erforderlich ist, lassen sich beliebig viele ETL-Lösungen (Extraktion, Transformation, Laden) nutzen� Viele Tools von Jaspersoft, Pentaho und Talend bieten exzellente Transformationsroutinen, mit denen sich Quelldaten auf jede erdenkliche Weise bearbeiten und anschließend in eine NoSQL-Zieldatenbank laden lassen� Darüber hinaus bieten sie auch viele andere Features wie visuelle Point-and-Click-Oberflächen, Scheduling-Engines u. v. m. Ein weiterer Vorteil: Viele dieser Tools können kostenlos heruntergeladen und genutzt werden�

Page 15: Kostenloser Leitfaden: So implementieren Sie eine NoSQL ......EINFÜHRUNG Besonders treffend beschreibt ein SiliconANGLE-Artikel aus dem Jahr 2013 das aktuelle und voraussichtliche

Kostenloser Leitfaden: So implementieren Sie eine NoSQL-Strategie

15

FAZIT Bevor Sie eine NoSQL-Strategie in Ihrem Unternehmen implementieren, sollten Sie sich im Klaren darüber sein, aus welchen Gründen erfolgreiche Unternehmen NoSQL einsetzen� Erst dann sollten Sie entscheiden, ob diese oder andere wichtige NoSQL-Aspekte einen Nutzen für Ihr Unternehmen bieten� Sobald für Sie feststeht, dass NoSQL das Richtige für Ihr Unternehmen ist, sollten Sie sich damit auseinandersetzen, welche Stolpersteine es zu vermeiden gilt, welche Kriterien für die Auswahl der richtigen NoSQL-Datenbank(en) für Ihre Anwendungsfälle relevant sind und welche Strategie sich am besten für die Implementierung eignet�

DataStax bietet Software, Services und Strategien der Enterprise-Klasse, um den Erfolg Ihrer NoSQL-Technologie sicherzustellen� Mit der bewährten und sicheren DataStax Enterprise-Lösung – auf Basis von Apache Cassandra – einschließlich 24/7-Support, Beratung und Schulungsangeboten stellen die DataStax-Experten sicher, dass der Umstieg auf NoSQL reibungslos und effizient abläuft und sich für Sie bezahlt macht.

Wenn Sie weitere Informationen zu Apache Cassandra und DataStax wünschen oder die Cassandra- und DataStax Enterprise-Software herunterladen möchten, besuchen Sie uns auf www�datastax�com oder senden Sie eine E-Mail an info@datastax�com� Beachten Sie, dass die DataStax Enterprise-Edition für Entwicklungsumgebungen kostenlos zur Verfügung steht, während bei Produktionsumgebungen der Kauf eines Softwareabos erforderlich ist�

ÜBER DATASTAX DataStax bietet eine ultraskalierbare NoSQL-Plattform der Enterprise-Klasse, die in den geschäftskritischen Anwendungen einiger der weltweit innovativsten und datenintensivsten Unternehmen eingesetzt werden� Auf Basis der Open-Source-Datenbank Apache Cassandra™ stellt DataStax eine umfassend verteilte, kontinuierlich verfügbare Plattform bereit, die sich schneller implementieren lässt und geringere Verwaltungskosten verursacht als andere Datenbankplattformen�

DataStax hat über 400 Kunden in 38 Ländern aus vielen verschiedenen Branchen, wie zum Beispiel Internet, Finanzdienstleistungen, Telekommunikation, Logistik und Behörden – darunter führende Unternehmen wie Netflix, Rackspace, Pearson Education und Constant Contact� Das im kalifornischen San Mateo ansässige Unternehmen wird von führenden Investoren unterstützt, darunter Lightspeed Venture Partners, Meritech Capital und Crosslink Capital�

Weitere Informationen finden Sie unter www�datastax�com�