Anzeige

Anzeige

VERANSTALTUNGEN

eoSearchSummit
06.02.20 - 06.02.20
In Würzburg, Congress Centrum

DSAG-Technologietage 2020
11.02.20 - 12.02.20
In Mannheim, Congress Center Rosengarten

E-commerce Berlin Expo
13.02.20 - 13.02.20
In Berlin

KI Marketing Day - Konferenz
18.02.20 - 18.02.20
In Wien

DIGITAL FUTUREcongress
18.02.20 - 18.02.20
In Frankfurt a.M.

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)

Anzeige

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
Hacker

Trickreiche Cyber-Angriffe fokussieren mehr auf KMUs

„Kleine und mittelständische Unternehmen tun gut daran, das Risiko von Cyber-Angriffen…
Tb W190 H80 Crop Int 18a7f2e3a514753b9748ffff7b3b3747

Der Quantencomputer gefährdet schon heute die Datensicherheit

Die nächste IT-Ära lässt noch lange auf sich warten. Wann der Quantencomputer kommerziell…
Tb W190 H80 Crop Int Dad59e0147e6775ec7d5e340684fdd27

Mit Plan zur IT-Sicherheit

Unternehmen sehen sich immer größeren Gefahren der Cyberkriminalität gegenüber.…
5g Cyber Security

Cybersicherheit soll das Potenzial von 5G nicht einschränken

Da immer mehr „Dinge“ digitalisiert werden, gilt es immer größere Datenmengen zu bewegen…
Mythos

Die 5 hartnäckigsten Cybersecurity-Mythen

Auch im Zeitalter der Digitalisierung ranken sich noch zahlreiche Mythen rund um das…
Star Wars Lego

IT-Sicherheit im ewigen Wettlauf mit der dunklen Seite der Macht

IT-Sicherheitsexperten in Unternehmen befinden sich im ewigen Wettlauf mit der dunklen…