Proprietäre, relationale Datenbanktechnologien waren lange der Standard. Durch die gestiegenen Anforderungen an die Verfügbarkeit und Skalierbarkeit gewinnen aber NoSQL-Datenbanken mit Open-Source-Technologie zunehmend an Bedeutung. Managed-Platform-Anbieter Instaclustr beschreibt ein mögliches Migrationsszenario von einer relationalen Datenbank auf Apache Cassandra. [...]
Immer mehr Unternehmen erwägen derzeit eine Migration weg von einer relationalen Datenbank hin zu einer modernen NoSQL-Technologie wie Apache Cassandra. Dafür gibt es mehrere Gründe wie die Limitierungen hinsichtlich Skalierbarkeit, Performance oder Verfügbarkeit.
Forciert werden Migrationsbestrebungen vom generellen Trend weg von Legacy-Systemen hin zu Open-Source-Lösungen und -Technologien. Sie bieten im Vergleich zu proprietären Anwendungen etliche Vorteile in Bereichen wie Flexibilität, Transparenz, Unabhängigkeit oder auch Kosten.
Nicht zuletzt profitieren Nutzer auch von den dynamischen und innovativen Entwicklungen der Open-Source-Communities.
Die Migrationsszenarien im Überblick
Bei jeder Migration von einer proprietären auf eine Open-Source-Lösung sind prinzipiell zwei Vorgehensweisen denkbar: eine Big-Bang-Migration oder ein initialer Parallelbetrieb. Allerdings sollte ein Unternehmen auch einen weiteren Mischbetrieb in Betracht ziehen.
- Eine Big-Bang-Migration beinhaltet, dass ein Unternehmen eine Anwendung stoppt, die Daten von der bestehenden Datenbank nach Cassandra kopiert und dann eine Version der Anwendung startet, die mit Cassandra funktioniert. Ein solcher Ansatz minimiert den betrieblichen Aufwand für die Migration, bringt aber auch einige Nachteile mit sich: von der Ausfallzeit einer Anwendung bis hin zum Risiko nicht korrekt kopierter Daten.
- Beim Parallelbetrieb erfolgt zunächst eine Modifikation der Anwendung, sodass sie sowohl in Cassandra als auch in die relationale Datenbank schreiben kann. Dieser Ansatz erfordert in der Regel mehr Entwicklungstätigkeit und auch mehr Aufwand beim Betrieb des Systems während der Transition-Phase.
- Die beiden Migrationsszenarien zielen auf eine vollständige Abschaltung der alten Datenbankinfrastruktur ab. Allerdings ist vielfach auch ein weiterer Mischbetrieb von Vorteil, da der Einsatz relationaler Datenbanken für viele Aufgaben wie das Benutzermanagement sinnvoll bleibt.
Von SQL über Apache Kafka zu Apache Cassandra
Im Mittelpunkt eines konkreten Migrationsszenarios von einer Legacy-Datenbank auf Apache Cassandra stehen die Überführung des Datenmodells und der Transfer der Daten. Unterstützung bieten hier Apache Kafka beziehungsweise Apache Kafka Connect.
Bei Apache Kafka handelt es sich um eine Streaming- und Messaging-Plattform und bei Apache Kafka Connect um eine Datenintegrationslösung, die Daten zwischen Kafka und anderen Datensystemen beziehungsweise zwischen verschiedenen Datenbanktechnologien streamt.
Dabei werden die Daten mit vorgefertigten oder benutzerdefinierten Kafka-Konnektoren gestreamt, in ein geeignetes Format gebracht und über Cassandra-Konnektoren in die neue Datenbankumgebung überführt.
Der Vorteil von Kafka ist, dass eine Migration mit Zero-Downtime und permanentem Datenzugriff durchgeführt werden kann. Die Daten werden an Cassandra gestreamt und die angepasste Anwendung greift dann auf die Daten im Cassandra Cluster zu. Die Datenbanken können somit zunächst parallel laufen, bevor ein vollständiger Umstieg auf die neue Umgebung erfolgt.
„Mit der richtigen Migrationsplanung und -strategie sind auch die Einführung und der Einsatz einer NoSQL-Datenbank kein Hexenwerk. Und die Vorteile der Nutzung einer Open-Source-Datenbank als Ergänzung beziehungsweise als Ersatz einer proprietären Lösung überwiegen den Aufwand deutlich“, erklärt Merlin Walter, Staff Sales Engineer EMEA bei Instaclustr.
„Wer dennoch Bedenken hinsichtlich Technologie-Know-how oder Migrationsprozess hat, kann auch ein Managed-Platform-Angebot nutzen. Es beschleunigt nicht nur die Einführung einer neuen Technologie, sondern entlastet auch die eigenen Mitarbeiter in Entwicklung und Operations von künftigen Tätigkeiten rund um die Datenbankverwaltung.“
Be the first to comment