Über unsMediaKontaktImpressum
Merlin Walter 19. September 2023

Welcher Data Layer ist der richtige?

Unternehmen benötigen in einer Zeit steigender Datenmengen leistungsstarke Data-Layer-Technologien. Aus Kostengründen und hinsichtlich Skalierbarkeit, Flexibilität und Unabhängigkeit gewinnen zunehmend Open-Source-Lösungen an Bedeutung. Dabei gibt es verschiedene Alternativen wie PostgreSQL, Apache Cassandra, Apache Kafka, OpenSearch oder Redis. Die jeweiligen Lösungen beinhalten unterschiedliche Vor- und Nachteile und sind damit auch nicht für jeden Anwendungsfall optimal geeignet.

Bei der Auswahl einer Data-Layer-Lösung müssen Unternehmen zunächst die Entscheidung treffen, ob sie proprietäre, Open-Core- oder Open-Source-Software einsetzen wollen. Die Technologieauswahl von Unternehmen in diesem Punkt hat weitreichende Folgen für die langfristige Architekturausrichtung, das Datenmanagement, das benötigte Mitarbeiter-Know-how und das Budget. Bei der vergleichenden Beurteilung der Lösungsansätze spricht viel für eine Open-Source-Variante. Etliche Unternehmen lösen deshalb auch proprietäre Technologien durch Open Source ab. Sie wollen damit nicht nur die Kosten reduzieren, die Flexibilität maximieren und die Abhängigkeit verringern, sondern auch von den dynamischen und innovativen Entwicklungen der Open-Source-Communities profitieren.

Bei der Auswahl der anforderungsspezifisch besten Data-Layer-Technologie sollte ein Unternehmen die jeweiligen Vor- und Nachteile sowie optimalen Einsatzbereiche kennen, etwa von PostgreSQL, Apache Cassandra, Apache Kafka, OpenSearch und Redis. Zudem muss klar sein, wie sich die Technologien ergänzen und gemeinsam genutzt werden können. Auf dieser Basis kann ein Unternehmen dann Anwendungen erstellen, die hochgradig skalierbar, belastbar und portabel sind und keine Lizenzgebühren oder Herstellerbindung nach sich ziehen.

Die Lösungen im Überblick

PostgreSQL ist eine fortschrittliche relationale Open-Source-Datenbank. Sie bietet eine hochverfügbare, fehlertolerante Datenbanktechnologie mit leistungsstarken Funktionen zur Unterstützung der anspruchsvollsten Anwendungsumgebungen. Die Datenbankplattform hat sich inzwischen zunehmend zu einer interessanten und überzeugenden Alternative für etablierte Lösungen wie Oracle oder IBM Db2 entwickelt. Dafür gibt es mehrere Gründe wie den einfachen Einstieg, den Open-Source-Gedanken und das Ökosystem, die entfallenden Lizenzkosten sowie die Erweiterbarkeit.

Empfohlene Nutzung: Die Zahl der potenziellen Anwendungsfälle für PostgreSQL steigt kontinuierlich und exponentiell. Früher galt PostgreSQL nur für OLTP-Anwendungen mit einigen Megabyte Daten als optimale Lösung. Inzwischen umfasst das Zielsegment neben OLTP aber auch ETL-(Extract, Transform, Load), OLAP-(Online Analytical Processing) oder ODS-(Operational Data Storage)Systeme.

Nicht empfohlene Nutzung: PostgreSQL ist für die vertikale Skalierbarkeit konzipiert. So kann jeweils nur ein System Änderungen an Daten empfangen. Diese Einschränkung bestimmt die maximale Anzahl von Transaktionen einer Anwendung, die PostgreSQL zulässt. Wenn sich ein Unternehmen dieser Kapazitätsgrenze möglicher Transaktionen nähert, sollte es die Nutzung mehrerer Datenbanken in Betracht ziehen, unabhängig davon, ob es sich dabei um PostgreSQL-Datenbanken handelt oder nicht.

Apache Cassandra ist ein hochverfügbarer, hochskalierbarer NoSQL-Datenspeicher. Die Architektur ermöglicht eine lineare Skalierung, wobei jeder hinzugefügte Knoten einen proportional kleineren Teil des gesamten Adressraums einnimmt. Durch das Architekturkonzept von Cassandra kann jeder Knoten jede Anfrage bedienen. Prinzipiell ist Apache Cassandra ideal geeignet für Umgebungen, die hohe Anforderungen an die Verfügbarkeit stellen. Cassandra unterstützt zum Beispiel leichtgewichtige Transaktionen, Batch-Operationen oder auch JSON.

Empfohlene Nutzung: Als universelle transaktionale Datenbank liegen die Stärken von Cassandra eindeutig in der Skalierbarkeit und Verfügbarkeit. Cassandra ist eine gute Option für Unternehmen, die eine Verfügbarkeit von 99,9 Prozent oder mehr benötigen. Auch unter dem Gesichtspunkt der Datenredundanz und -verfügbarkeit ist Cassandra eine verlässliche Wahl, da damit Daten über verschiedene Rechenzentren und Umgebungen hinweg repliziert werden können; eine relativ nahtlose Datenportabilität ist dabei gewährleistet. Darüber hinaus eignet sich Cassandra zum Beispiel hervorragend für Unternehmen, die ihre Services bei steigender Last flexibel erweitern möchten, da die Skalierung etwa von 3 auf 100 Knoten in Minuten erfolgen kann.

Nicht empfohlene Nutzung: Cassandra eignet sich weniger für Anwendungsfälle wie Analytics-Storage oder Data-Warehousing. Cassandra verfügt zwar über Spark-Konnektoren sowie Tableau- und Hadoop-Plug-ins und unterstützt Operationen wie vollständige Tabellen-Scans, bietet aber nicht die Geschwindigkeit anderer Optionen. Auch für Echtzeit-Analysen ist Cassandra nicht die passende Variante, da Abfragecode applikationsseitig implementiert werden muss, wodurch die Komplexität steigt.

Apache Kafka ist eine hochskalierbare, hochverfügbare Streaming- und Messaging-Plattform. Kafka eignet sich hervorragend für die Erstellung von Streaming-Anwendungen. Die Messaging-Plattform bietet selbst bei einem kleinen Cluster eine hohe Performance. So können bereits sechs Knoten beispielsweise Millionen von Nachrichten pro Sekunde verarbeiten. Dadurch ist Kafka eine perfekte Lösung für jede Architektur mit hohen Anforderungen an Verfügbarkeit und Durchsatz.

Empfohlene Nutzung: Ein Einsatz von Kafka bietet sich gerade in serviceorientierten Architekturen und Microservices-Umgebungen an. Dabei unterstützt Kafka als leistungsfähiger Message-Bus verschiedenste Anwendungsfälle. Die Plattform kann mit ihren Stream-Verarbeitungsfunktionen zum Beispiel für Roll-ups, Aggregationen und die Erkennung von Anomalien eingesetzt werden. Weitere Anwendungsbereiche sind das Event Sourcing und der Abgleich von Daten zwischen verschiedenen Microservices. Zudem ist die universelle Streaming-Plattform auch für die Datenmaskierung und -filterung oder die Datenanreicherung nutzbar.

Nicht empfohlene Nutzung: Kafka ist für Datenströme wie Echtzeit-Audio oder -Video weniger geeignet, bei denen das Ziel darin besteht, Datenpakete so schnell wie möglich zu übermitteln. Hier sollte eine Lösung genutzt werden, die speziell für diese Datenströme entwickelt wurde.

OpenSearch ist eine Such- und Analyse-Suite. Sie wird im Allgemeinen verwendet, um eine skalierbare lineare Suche nahezu in Echtzeit bereitzustellen. OpenSearch ist ein Fork der Suchmaschine Elasticsearch. Hinsichtlich Elasticsearch und OpenSearch zeigt sich auch der Unterschied zwischen Open-Core- oder Open-Source-Software. Das eng mit Open Source verwandte Modell Open Core basiert auf Open-Source-Technologien, zu denen Unternehmen proprietäre Funktionen hinzufügen. Daraus erstellen sie dann eine kommerzielle Version der Software, die sie kontrollieren. Für Anwender entsteht dadurch eine Abhängigkeit. Beispiele hierfür sind Elasticsearch und die Abkehr von der reinen Open-Source-Lizenzierung.

Die Wahl der Technologie ist immer eine Abwägung zwischen Aufwand und Nutzen.

Empfohlene Nutzung: OpenSearch eignet sich besonders gut für Anwendungsfälle wie die Log-Analyse oder die Kombination von öffentlichen Daten, Ereignisdaten und Metriken.

Nicht empfohlene Nutzung: Weniger passend ist OpenSearch in der Regel für die Verwendung als Datenbank oder in Kombination mit relationalen Daten sowie für die Erfüllung von ACID-Anforderungen.

Redis schließlich ist die führende Open-Source-In-Memory-Datenbank, die niedrige Latenzzeiten bietet. Die Datentechnologie wird vor allem aufgrund ihrer hohen Performance, Vielseitigkeit und Datenpersistenz genutzt.

Empfohlene Nutzung: Bei Redis werden alle Daten direkt im Cache gespeichert. Dadurch ist Redis optimal geeignet für das schnelle Speichern und Abfragen von Daten. Klassische Anwendungsbereiche sind Echtzeit-Analysen, Messaging- und Chat-Dienste oder Media-Streaming.

Nicht empfohlene Nutzung: Weniger passend ist Redis in der Regel für das Arbeiten mit komplexen Datenbeständen, bei denen aufwendige Abfrageoperationen erforderlich sind.

Kombinierte Lösungsnutzung im Managed-Platform-Modell

PostgreSQL, Apache Cassandra, Apache Kafka, OpenSearch und Redis bieten neben den Gemeinsamkeiten auch komplementäre Leistungsmerkmale. Wenn die Technologien zusammen eingesetzt werden, können Anwendungen erstellt werden, die hochgradig skalierbar, portabel und frei von Lizenzgebühren und einem Vendor-Lock-in sind. Insgesamt sind diese Technologien in ihrem Open-Source-Format erprobt und getestet, äußerst robust und damit auch für unternehmenskritische Implementierungen optimal geeignet. Es gibt verschiedene Möglichkeiten, die unterschiedlichen Technologien in Kombination zu nutzen. Zu nennen sind etwa die Lambda-Architektur, Microservices-Umgebungen oder auch traditionelle ETL-Verfahren.

Die Wahl der Technologie ist immer eine Abwägung zwischen Aufwand und Nutzen. Dabei sollte ein Unternehmen nicht nur die Technologie selbst betrachten, sondern auch die Art und Weise, wie sie diese einsetzt. Vor allem stellt sich die Frage, in welcher Umgebung Data-Layer-Technologien genutzt werden sollen: in einem Cloud-Betriebsmodell oder on-premises. In diesem Kontext gewinnen gerade Managed Platforms an Bedeutung, die unterschiedliche Betriebsmodelle unterstützen und eine hohe Skalierbarkeit und Flexibilität sowie auch Sicherheit bieten.

Mit einer Managed Platform können Unternehmen prinzipiell die Markteinführung ihrer Anwendung beschleunigen und gleichzeitig das Risiko bei der Einführung neuer Technologien verringern. Idealerweise umfasst eine vollständig integrierte Managed Platform zentrale Open-Source-Technologien wie PostgreSQL, Apache Cassandra, Apache Kafka, OpenSearch und Redis. Sind diese datenzentrierten, hochverfügbaren und -skalierbaren Technologien interoperabel nutzbar, können Unternehmen unterschiedliche Anwendungsfälle und auch branchenspezifische Anforderungen zielgenau abdecken. Managed Platforms und die damit verbundenen Services des Anbieters bieten Unternehmen darüber hinaus einen entscheidenden Vorteil: Die eigenen Mitarbeiter in Entwicklung und Operations werden bei Tätigkeiten rund um die Datenbankverwaltung entlastet, sodass sie sich stärker auf produktivere und innovativere Aufgaben fokussieren können.

Autor
Das könnte Sie auch interessieren
Kommentare (0)

Neuen Kommentar schreiben