Anzeige

Anzeige

VERANSTALTUNGEN

Bitkom | Digital Health Conference
26.11.19 - 26.11.19
In dbb Forum Berlin

IT & Information Security
26.11.19 - 27.11.19
In Titanic Chaussee Hotel, Berlin

Integriertes IT Demand und Portfolio Management
02.12.19 - 04.12.19
In Sofitel Berlin Kurfürstendamm, Germany

IT-Tage 2019
09.12.19 - 12.12.19
In Frankfurt

eoSearchSummit
06.02.20 - 06.02.20
In Würzburg, Congress Centrum

Anzeige

Anzeige

Verzweifelter Mann im Rechenzentrum

Wie verteilte NoSQL-Datenbanken auf Basis von Apache Cassandra einen neuen Standard für Desaster-Toleranz setzen.

Katastrophen wie Erdbeben, Feuer, Stromausfall oder Hardware-Schäden können Services unterbrechen und Daten im Rechenzentrum korrumpieren. Diese möglichen Auswirkungen soll eine Lösung für Desaster-Toleranz auf ein Minimum begrenzen, indem sie Anwendungen und Daten innerhalb eines für das Geschäft angemessenen Zeitraums nach einem Desaster wiederherstellt. Doch wie lange sind wir bereit zu warten, bis die App wieder läuft? Länger als drei Sekunden? So viel nahmen 53 Prozent der mobilen Seitenbesucher nicht in Kauf. Sie erwarteten ein schnelleres Laden der Seite und brachen ab, fand DoubleClick von Google heraus. Das war 2016. Im heutigen Datenzeitalter, in dem bis 2025 laut IDC-Studie das weltweite Datenvolumen auf kaum vorstellbare 175 Zettabytes ansteigen und bis zu 49 Prozent in Clouds gespeichert wird, zählt jede Zehntelsekunde. Daten müssen stets verfügbar sein, ohne Verzögerungen.

Heute wollen international tätige Unternehmen auch schnell eine Instanz ihres Dienstes direkt in den USA oder beispielsweise in Australien starten. Dafür bietet eine Architektur, die auf relationalen Datenbanken basiert, zu wenig. Denn sie lässt Unternehmen nur die Wahl, ihre Daten an einem einzigen Ort vorzuhalten, was für ihre Kunden bedeutet: Sie müssen warten. Die zweite Variante wäre ein doppelter Datenbankenbetrieb, der sich irgendwann kaum noch managen ließe.

Vernetzte Knotenpunkte

Bild 1: Viele international tätige Unternehmen benötigen global verfügbare Daten. (Quelle: DataStax)


Mit NoSQL basierend auf Apache Cassandra zu global verfügbaren Daten und skalierbaren Apps

Die gesuchte Alternative liefert NoSQL. Solch ein Datenbanksystem macht die Daten global verfügbar, indem es sie auf Servern speichert und über verschiedene Regionen auf unterschiedliche Cloud-Anbieter verteilt. Zusätzliche Kosten entstehen nicht, es tritt höchstens eine gewisse Latenz auf. Apache Cassandra ist ein verteiltes Open-Source-Datenbankmanagementsystem, welches das NoSQL-Datenbankschema genau in diesem Sinne – also ohne relationales Beschreiben der Daten – für die Desaster-Toleranz umsetzt.

Bisher war Apache Cassandra als spaltenorientierte und auf Java basierende NoSQL-Datenbank für andere Szenarien bekannt. Sie kann riesige Datenmengen für Big-Data-Anwendungen verarbeiten und eignet sich als Echtzeit-Datenspeicher für Online-Anwendungen mit vielfältigen Transaktionen. Das schließt extrem skalierbare Echtzeitanwendungen ein, für die sich die Datenbankleistung einfach erhöhen lässt. Für das Verdoppeln fügt man zum Beispiel im laufenden Betrieb einfach so viele Knoten hinzu, wie der Cluster bereits hatte.

Regeln für verteilte Daten

Warum die NoSQL-Datenbank nun einen neuen Standard für Ausfalltoleranz etablieren kann, liegt vor allem daran, dass sie das CAP- oder Brewer's Theorem umsetzt. Dieses beschreibt die Beziehung von Consistency (C), Availability (A) und Partition-Tolerance (P) und geht auf Eric Allen Brewer, Informatikprofessor und Vizepräsident für Infrastruktur bei Google, zurück. Es regelt alle Fragen für verteilte Daten und geht davon aus, dass sich nur zwei der drei Anforderungen (C, A, P) gut aufeinander abstimmen lassen. Praktische Relevanz besitzen CP- und AP-Systeme, da diese nicht anfällig gegenüber unvermeidlichen Netzwerkausfällen sind. In der CP-Optimierung ist eine Datenbank konsistent und partitionstolerant, aber weniger belastbar. Hochverfügbar und partitionstolerant wird es in der AP-Konfiguration, die aber nur möglicherweise konsistent ist.

Das bekannteste AP-System ist das globale Domain Name System (DNS): Es ist unglaublich ausfallsicher und überlebt die Netzwerkpartitionierung problemlos. In diesem Einsatzszenario bleibt Apache Cassandra flexibel, kann die Abfrageposition definieren und das Abfrageverhalten von CP bis AP konfigurieren.

Schnittmenge von Consistency, Availability, Partition Tolerance

Bild 2: Apache Cassandra setzt das CAP-Theorem optimal um. (Quelle: DataStax)


Gleichgestellte Knoten replizieren Daten präventiv

Laut CAP-Theorem müssen alle Single Points of Failure (SPoF) beseitigt werden. Fallen diese aus, geht auch im System nichts mehr. Jeder Masterknoten einer relationalen Datenbank ist ein SpoF. Mit Apache Cassandra baut man jedoch eine masterlose Architektur auf, in der die Knoten gleichgestellt sind. So kann jeder Knoten bei Apache Cassandra eine Anfrage verarbeiten, egal ob er lesen oder schreiben soll.

Fällt einer dieser Knoten aus, müssen die Daten von ihm an einem anderen Ort verfügbar sein – ohne Backup, weil das zu lange dauern würde. Die Lösung: Die Daten werden stattdessen vorläufig repliziert, bevor sie jemand benötigt. Mit Cassandra erstellt man dazu eine Art SQL-Datenbank, die den Replikationsfaktor definiert, um jedes Datenelement in der gewünschten Anzahl von Knoten zu replizieren. Dafür ist zusätzlicher Speicherplatz nötig. Dieser kostet allerdings wenig im Vergleich zu einem möglichen Reputationsverlust, Auftragsausfällen und einem langfristigen wirtschaftlichen Schaden. Zur Ausfalltoleranz trägt zudem wesentlich bei, dass sich ein Apache Cassandra Cluster selbst wiederherstellen kann.

Desaster-tolerante Datenbank kommt an

Das Aufsetzen und Warten eines Apache Cassandra Clusters verlangt Fachkenntnisse und ist aufwändig. Dies wird sich jedoch für Unternehmen rechnen, die ihre Daten nicht auf einem einzigen Server halten, sondern geografisch verteilen wollen. Die Nachteile, weder das Datenmodell einschränken noch Kaskadenoperationen durchführen zu können, kompensiert ihre schnell lesende und schreibende NoSQL-Datenbank. Administratoren können den gesamten Cluster so konfigurieren, dass ein schnell verteiltes, Desaster-tolerantes System entsteht, welches genau auf ihre Situation zugeschnitten ist. Mittlerweile haben deshalb viele bekannte Top-Unternehmen Apache Cassandra oder seine kommerzielle Version, DataStax Enterprise, implementiert. Unter anderen vertrauen Apple, Netflix, Twitter, Sony, eBay, Walmart, FedEx und viele andere dem Flaggschiff unter den Cloud-Datenbanken. Es zeigt sich: Eine ausfallsichere Datenbank, die nicht „vollläuft“, ist für viele Unternehmen unterschiedlicher Branchen relevant.

Aleksandr Volochnev, Developer Advocate
Aleksandr Volochnev
Developer Advocate, DataStax
(Quelle: DataStax)
Warnung Schild: Are You Ready
Sep 11, 2019

Was für ein Desaster! Konzepte zur Krisenbewältigung

Ein Desaster macht aus, dass es sich im Vorfeld nicht ankündigt. Als katastrophales…
Disaster Recovery
Aug 19, 2019

Der Tag, an dem das Rechenzentrum stillstand

Wenn es darum geht, auf den kompletten Ausfall des Rechenzentrums vorbereitet zu sein,…
GRID LIST
Menschen als Marionetten

Methoden der Security Awareness Vermittlung (Teil 2/4)

Es ist höchste Zeit, das Sicherheitsbewusstsein sowohl der Mitarbeiter als auch der…
Mausefalle

Threat Hunting: „Jäger” von was eigentlich?

Die Bedrohungssuche ist eine von Menschen geleitete und maschinell unterstützte Aufgabe.…
Räuber und Gendarm

Räuber und Gendarm - So testen Unternehmen ihre IT-Sicherheit

Immer mehr Unternehmen bereiten ihre IT-Sicherheitsteams mit Simulationen auf…
Sicherheitsrisiko Mensch

Unbedarfter Umgang mit IT-Security – Sicherheitsrisiko Mensch

IT-Sicherheitsexperte Dirk Schrader ist zusammen mit dem Bayerischen Rundfunk und der…
Cyber Insurance

Wie sinnvoll ist eine Cyberversicherung?

Dramatische Angriffe auf die Cybersicherheit bedrohten in den vergangenen Jahren…
Virtualisierung Straße

Virtualisierung - Runter von der Bremse!

Egal ob physisch oder virtualisiert, Endpunkte sind in vieler Hinsicht die Achillesferse…