Kommentar von Patrick McFadin, DataStax 10 Jahre Apache Cassandra – der steinige Weg zum Gipfel
Viele der technologischen Entwicklungen unserer Zeit müssen sich auf einen langen und steinigen Weg machen, ehe sie von den Menschen, die sie tagtäglich nutzen, wirklich akzeptiert werden. So auch das NoSQL-Datenbanksystem Apache Cassandra.
Anbieter zum Thema

Cassandra wurde ursprünglich 2008 von IT-Entwicklern bei Facebook entwickelt, um ein drängendes Problem zu lösen: Sie brauchten ein verteiltes Datenbanksystem, das in der Lage war, ihre Inbox-Search effektiv und stabil zu managen. Damals gingen nämlich den Unternehmen wie Google oder Amazon langsam aber sicher die Optionen für den Umgang mit ihren riesigen Datenmengen aus. Entwickler versuchten in dieser Zeit, aus den müden, alten Datenbanken das letzte bisschen Leistung herauszuholen und die großen Dateninfrastrukturen reizten die Grenzen der relationalen Datenbanken bis ans Limit aus.
Entwicklung mit Hindernissen
Vor diesem Hintergrund kam nun Cassandra auf die Bildfläche und sollte den Wechsel von relationalen Datenbanken auf etwas für die Welt der Big Data viel besser Geeignetem einläuten. Und schon hier traf Cassandra auf ihr erstes Hindernis: Veränderungen liegen uns Menschen aber nicht unbedingt, sehr selten umarmen wir das Neue und lassen uns sofort darauf ein. Cassandras Weg weist daher erstaunliche Parallelen zu dem von Elisabeth Kübler-Ross entworfenen Modell der 5 Phasen der Trauer auf.
Phase 1: Das Leugnen
Das Individuum glaubt, dass die Prognose daneben liegt und klammert sich an eine falsche, bevorzugte Realität.
Die Geburt von Apache Cassandra läutete zugleich das Ende einer 30-jährigen Ära der Datenbanktechnologie ein. Die Skepsis und Ablehnung der ersten Cassandra-Jahre auf das Neue waren daher naheliegende Reaktionen. Natürlich kam noch hinzu, dass die ersten neuen Datenbanken nicht gerade höchsten Qualitätsansprüchen entsprachen. So war es ein Leichtes, bei den Newcomern im Vergleich zum alten bewährten System Fehler zu finden.
Aber Cassandra zeigte 2008 schon Fähigkeiten, die relationale Datenbanken einfach nicht haben wie beispielsweise: betriebsbereit bleiben, wenn physische Knoten ausfallen oder direkt online skalieren, indem einfach mehr Server hinzugefügt werden. Administratoren nannten Cassandra ein Spielzeug und Entwickler meinten, es sei einfach eine Modeerscheinung. Und doch, einige waren von den überlegenen Fähigkeiten von Cassandra überzeugt. Die Datenbanktechnologie wurde stetig weiter entwickelt und löste weiter echte Probleme. Zum Beispiel erregte die Replikationsgeschichte viel Aufmerksamkeit: Cassandra hatte Möglichkeiten, eine relationale Datenbank zu replizieren. Auch das verlief nicht immer reibungslos und auch hier kam es zu Fehlern. Aber wir Menschen strengen uns nur dann wirklich an, wenn wir es wirklich unbedingt müssen. Vorerst waren relationale Datenbanken nicht wirklich „kaputt“. Warum also ein funktionierendes System verändern?
Stufe 2: Die Wut
Das Individuum erkennt, dass Verleugnung Probleme nicht lösen kann und wird frustriert.
Langsam aber sicher begannen immer mehr Menschen, Anwendungsfälle mit echten Produktionsaufgaben zu Cassandra zu verlagern. Die Anzahl von glücklichen Anwendern, die schier unglaubliche Geschichten von Datengrößen und Elastizität erzählten, nahm kontinuierlich zu. Die Namen der Unternehmen hinter diesen Geschichten veränderten sich von „innovativ“ zu „Mainstream“. Cassandra war plötzlich nicht mehr nur eine Modeerscheinung.
Viele Entwickler waren mit der neuen Technologie aber dennoch alles andere als glücklich. Sie hatten Angst, dass der Wechsel auf dieses neue System für ihr Unternehmen negative Folgen haben könnte. Datenbankadministratoren werteten Cassandra bestenfalls als eine schlechte Idee und schlimmstenfalls als Bedrohung ihrer Existenz. Dementsprechend groß war deren Wut.
Phase 3: Das Verhandeln
Das Individuum versucht, das Unvermeidliche hinauszuschieben und sucht nach einer alternativen Route.
Trotz großangelegter „Straßensperren“ und Verzögerungstaktiken diktierten die neuen Bedürfnisse der Unternehmen überall einen Wechsel zu hochskalierbaren Technologien – wie eben Apache Cassandra. Viele Unternehmen standen einfach schon bis zum Hals im „Big-Data-Wasser“. Es ging in erster Linie darum, die Probleme zu lösen – egal, wie viel „Tuning“ in diese neue Technologie gesteckt werden musste. Ab diesem Zeitpunkt begannen die Teams über die Bedingungen eines Cassandra-Rollouts zu verhandeln.
An diesem Zeitpunkt tauchte plötzlich noch eine neue Art von Datenbank auf. Sie hieß NewSQL und versprach volle ACID-Transaktionen zusammen mit Cassandra-ähnlicher Elastizität. Leider funktionierte NewSQL nur fehlerhaft. Ein Glücksfall für Cassandra, die Rollout-Pläne wurden in die Tat umgesetzt.
Phase 4: Die Depression
„Ich bin so traurig, warum sollte ich mich mit überhaupt irgendetwas beschäftigen?“
Der Widerstand gegen die neue Technologie erschien immer weniger attraktiv. Die letzten Verfechter der relationalen Datenbanken hörten auf, ihren Standpunkt mit allen Mitteln zu verteidigen und haben sich anderen Lösungen zugewandt. Viele entschieden sich für Data-Warehousing, wo sie ihre exzellenten SQL-Kenntnisse einsetzen konnten. Cassandra konnte so in jeder Ecke der technischen Welt Fuß fassen und es folgte eine massive Wachstumsphase der Technologie.
Stufe 5: Die Akzeptanz
Das Individuum nimmt die unvermeidliche Zukunft an.
Aus „Cassandra, der Neuen“ entstand so eine echte Mainstream-Datenbank. Immer mehr erstaunliche und großartige Anwendungsfälle reihen sich in die Liste der Erfolge ein. Heute, zehn Jahre später, hat vermutlich jedes größere Internetunternehmen Cassandra im Einsatz. In der Welt der Datenbanken hat sich nun eine weitreichende Veränderung vollzogen. Cassandra ist aus einer Datenbankinfrastruktur kaum mehr wegzudenken.
Was nach Cassandra kommen mag, lässt sich nur Vermuten. Aber wie bei uns Menschen geschehen viele Veränderungen fast unbemerkt, sie schleichen sich schrittweise ein – bis wir plötzlich feststellen: „Wow – du hast dich aber verändert!“
:quality(80)/images.vogel.de/vogelonline/bdb/952900/952906/original.jpg)
Cassandra- und NoSQL-Bascis, Teil 1
Grundlagen der NoSQL-Datenbank Apache Cassandra
:quality(80)/images.vogel.de/vogelonline/bdb/952900/952906/original.jpg)
Cassandra- und NoSQL-Basics, Teil 2
So funktioniert Cassandra
:quality(80)/images.vogel.de/vogelonline/bdb/952900/952906/original.jpg)
Cassandra- und NoSQL-Basics, Teil 3
So funktionieren Abfragen in Apache Cassandra
(ID:45379062)