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)

Newsletter Anmeldung

Smarte News aus der IT-Welt

Sie möchten wöchentlich über die aktuellen Fachartikel auf it-daily.net informiert werden? Dann abonnieren Sie jetzt den Newsletter!

Newsletter eBook

Exklusiv für Sie

Als Newsletter-Abonnent erhalten Sie das Booklet „Social Engineering: High Noon“ mit zahlreichen Illustrationen exklusiv und kostenlos als PDF!

 

Artikel zu diesem Thema

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,…

Weitere Artikel

Weihnachten Kalender

Der Adventskalender für mehr IT-Sicherheit

Die Weihnachtszeit naht und für Viele ist das Öffnen von 24 Adventskalender-Türchen eines der am meisten geschätzten Dezember-Rituale. Passend dazu startet zum zweiten Mal die Aktion “Sicher im Advent”
Business Continuity Management

Business Continuity Management: Überlebenswichtig in Corona-Zeiten

Die Corona-Pandemie stellt zahlreiche Unternehmen auf eine harte Probe. In dieser unsicheren Wirtschaftslage können Systemausfälle oder Ähnliches nicht nur Zeit, Geld und die Reputation kosten, sondern auch die Existenz.
E-Mails

E-Mail-Kommunikation mittels Blockchain: totemomail Verified

Die E-Mail ist gerade im Geschäftsleben nach wie vor das universelle Kommunikationsmittel, obwohl ihren Vorteilen auch Nachteile wie Phishing-Risiken oder die fehlende Revisionssicherheit gegenüberstehen.
Netzwerk-Sicherheit

Das Netzwerk sichern wie den Firmen-Komplex

Ransomware-Angriffe nehmen mehr und mehr zu, nicht zuletzt begünstigt durch die fortschreitende Digitalisierung, Cloudmigration und breit angelegte Tele-Arbeit. Nun gilt es, die Strategie für Netzwerksicherheit ebenfalls zu adaptieren. Mehr Homeoffice. Mehr…
Endpoint Security Baum

Welche Strategie schützt den Endpunkt?

In einer perfekten Welt wäre Software vollkommen sicher und Angriffe wären unmöglich. Sie ist jedoch zu komplex, um perfekt entworfen oder programmiert werden zu können, jedenfalls, wenn Menschen im Spiel sind. Selbst die sichersten Anwendungen haben Fehler.

Anzeige

Newsletter Anmeldung

Smarte News aus der IT-Welt

Sie möchten wöchentlich über die aktuellen Fachartikel auf it-daily.net informiert werden? Dann abonnieren Sie jetzt den Newsletter!

Newsletter eBook

Exklusiv für Sie

Als Newsletter-Abonnent erhalten Sie das Booklet „Social Engineering: High Noon“ mit zahlreichen Illustrationen exklusiv und kostenlos als PDF!