Einheit 2.5: Datenbank und Daten-Dienste
Einführung
Stellen Sie sich eine belebte Restaurantküche vor, in der der Koch sich ausschließlich auf die Zubereitung fantastischer Gerichte konzentriert, während ein dediziertes Team für die Wartung der Geräte, die Inventarisierung der Zutaten und die Reinigung verantwortlich ist. Der Koch muss sich nicht um die Reparatur der Öfen oder das Bestellen von Vorräten kümmern, da diese Aufgaben von Spezialisten übernommen werden. Gemanagte Datenbankdienste funktionieren auf die gleiche Weise. Sie ermöglichen es Ihrem Team, sich auf die Erstellung großartiger Anwendungen zu konzentrieren, während IONOS die Infrastruktur, das Patchen, die Sicherung und die Wartung übernimmt.
In dieser Einheit werden Sie die IONOS Database-as-a-Service (DBaaS)-Angebote erkunden. Sie werden über relationale Datenbanken wie Managed PostgreSQL und MariaDB für strukturierte Daten, Dokumentendatenbanken wie Managed MongoDB für flexible Schemata, In-Memory DB für ultraschnelles Caching und Event Streams for Apache Kafka für Echtzeit-Eventverarbeitung erfahren. Das Verständnis dieser Dienste hilft Ihnen, die richtige Datenbank für die Anforderungen Ihrer Anwendung auszuwählen.
1. Überblick über gemanagte Datenbanken
Die Datenbank-as-a-Service (DBaaS) liefert vollständig gemanagte Datenbank-Engines, die auf dedizierter Infrastruktur innerhalb Ihres virtuellen Rechenzentrums ausgeführt werden. IONOS übernimmt die Bereitstellung, Patching, Sicherungen und Hochverfügbarkeit, während Sie die volle Kontrolle über Ihre Daten und Datenbank-Konfiguration behalten.
1.1 Was macht eine Datenbank "gemanagt"
Ein gemanagter Datenbank-Service übernimmt die Verantwortung für den gesamten Datenbank-Stack, von der Hardware und dem Betriebssystem bis hin zur Datenbank-Engine und der laufenden Wartung. Sie bereitstellen eine Cluster über die Data Center Designer oder die API, und innerhalb von Minuten haben Sie eine produktionsbereite Datenbank, ohne Software installieren oder Server konfigurieren zu müssen.
Gemanagte Datenbanken unterscheiden sich von selbst gemanagten Bereitstellungen in mehreren wichtigen Aspekten. Der Cloud-Anbieter liefert die Hardware, wendet Firmware- und Betriebssystem-Patches an und verwaltet Datenbank-Software-Updates. Sie vermeiden den Kauf von physischen Servern, das Einrichten von Ausrüstung und die Wartung von Infrastruktur. Datenbanken kommen vor konfiguriert mit Sicherheitsbest-Praktiken, automatisierten Sicherungen und Hochverfügbarkeitsfunktionen. Ihr Team konzentriert sich auf Schema-Design, Query-Optimierung und Anwendungs-Entwicklung anstelle von Routine-Operationen.
1.2 Vorteile von gemanagten Datenbank-Diensten
Die folgende Tabelle vergleicht gemanagte Datenbanken mit selbst gemanagten Bereitstellungen in kritischen operativen Bereichen:
| Bereich | Vorteile gemanagter DB | Anforderungen selbst gemanagter Bereitstellungen |
|---|---|---|
| Hardware & Firmware | Anbieter bereitstellt, installiert und wartet Server, Treiber und Firmware automatisch | Kauf, Einrichtung, Stromversorgung, Netzwerkverbindung und Patching von physischen Maschinen manuell |
| Erstkonfiguration | Datenbanken sind vor konfiguriert und sofort einsatzbereit | Installation von Datenbank-Software, Parametertuning, Konfiguration von Replikation und Sicherheit |
| Betrieb & Personal | Personal konzentriert sich auf Anwendungs-Entwicklung anstelle von Routine-Operationen | Erfordert DBAs oder Ingenieure für Installationen, Patches, Überwachung und Fehlerbehebung |
| Patching & Upgrades | Regelmäßige Patches werden automatisch während der Wartungsfenster angewendet | Verfolgung von Sicherheits-Veröffentlichungen, Planung von Ausfallzeiten, Testen von Upgrades, manuelles Anwenden |
| Hochverfügbarkeit | Integrierte HA-Cluster mit automatischem Failover und Replikation | Entwurf und Implementierung der eigenen Replikations-Topologie und Testen von Failover-Verfahren |
| Sicherung & Wiederherstellung | Tägliche automatisierte Sicherungen mit punktgenauer Wiederherstellung | Bereitstellung von Sicherungs-Agents, Planung von Snapshots, Verwaltung von Aufbewahrungsfristen, Testen von Wiederherstellungen |
| Skalierbarkeit | Vertikale und horizontale Skalierung über API oder Konsole | Beschaffung von größeren Servern, Hinzufügen von Knoten, Neukonfiguration von Lastverteilern, Migration von Daten |
| Sicherheit | TLS-Verschlüsselung, rollenbasierte Zugriffskontrolle, private Netzwerkverbindung | Sichere Betriebssysteme, Verwaltung von Zertifikaten, Konfiguration von Firewalls und Netzwerk-Segmentierung |
| Überwachung | Integrierte Metriken, Protokolle, Alarme verfügbar im Kontrollpanel oder über API | Installation von Überwachungs-Agents, Erstellung von Dashboards, Wartung von Alarm-Pipelines |
| Kostenmodell | Pay-as-you-go-Abrechnung pro Minute für genutzte Ressourcen | Kapitalaufwand für Hardware, überproportionierte Kapazität, langfristige Verträge |
Gemanagte Datenbanken liefern Geschwindigkeit und Einfachheit durch die Bereitstellung von produktionsbereiten Umgebungen in Minuten. Sie bieten Zuverlässigkeit durch automatisierte Hochverfügbarkeits-Konfigurationen und anbieterunterstützte Patches. Sie verbessern die betriebliche Effizienz, indem sie Ihr Team von Routine-Administrations-Aufgaben befreien. Sie bieten finanzielle Flexibilität durch verbrauchs-basierte Preise, die sich an Ihre tatsächliche Nutzung anpassen.
1.3 Gemeinsame Funktionen von gemanagten Datenbanken
Alle IONOS-gemanagten Datenbank-Dienste teilen sich Kernfunktionen, die eine unternehmens-grade Zuverlässigkeit und Sicherheit gewährleisten. Jeder Dienst läuft auf dedizierten virtuellen Maschinen mit garantierten CPU-, RAM- und Speicher-Ressourcen. Cluster werden innerhalb privater LANs in Ihrem virtuellen Rechenzentrum bereitgestellt, was eine Netzwerk-Isolation und -Sicherheit gewährleistet.
Hochverfügbarkeit ist Standard durch Multi-Node-Cluster mit automatischem Failover. Wenn ein Node ausfällt, fördert die Cluster automatisch eine Replikation, um die Dienst-Continuität aufrechtzuerhalten. Die Replikation kann als asynchron für die beste Leistung oder streng-synchron für Null-Daten-Verlust (Verfügbarkeit variiert je nach Motor) konfiguriert werden.
Sicherheit ist in jede Schicht eingebaut. Alle Client-Verbindungen verwenden TLS-Verschlüsselung, um Daten während der Übertragung zu schützen. Rollenbasierte Zugriffskontrolle ermöglicht es Ihnen, granulare Berechtigungen für Benutzer und Anwendungen zu definieren. Datenbanken sind nur über private Netzwerke erreichbar und nie direkt dem Internet ausgesetzt. Sicherungen sind verschlüsselt und sicher in IONOS Cloud Object Storage gespeichert.
Automatisierte Sicherungen laufen täglich über alle Motoren, mit punktgenauer Wiederherstellung, die normalerweise für bis zu einer Woche verfügbar ist; für Managed MongoDB ist PITR nur in der Enterprise-Edition verfügbar (Business unterstützt Snapshot-Wiederherstellung, und Playground-Sicherungen sind deaktiviert). Sie können gesamte Cluster oder spezifische Datenbanken auf jeden Moment während der Aufbewahrungsfrist wiederherstellen. Wartungsfenster ermöglichen es Ihnen, Patches und Upgrades zu gelegenen Zeiten mit minimaler Störung zu planen.
Überwachung und Berichterstattung sind in die Data Center Designer integriert und über APIs verfügbar. Sie können CPU-Nutzung, Arbeitsspeicher-Verbrauch, Speicher-Kapazität, Verbindungszahlen und Query-Leistung verfolgen. Metriken und Protokolle helfen Ihnen, die Leistung zu optimieren und Probleme zu beheben, bevor sie Benutzer beeinträchtigen.
2. Relationale Datenbankdienste
Relationale Datenbanken organisieren Daten in Tabellen mit definierten Schemata, erzwingen Beziehungen durch Fremdschlüssel und unterstützen komplexe Abfragen mit SQL. IONOS bietet zwei relationale Datenbank-Engines: PostgreSQL und MariaDB.
2.1 Managed PostgreSQL
Managed PostgreSQL liefert eine vollständig kompatible, unternehmensklasse-PostgreSQL-Datenbank als gemanagten Dienst. PostgreSQL ist bekannt für seine erweiterten Funktionen, Erweiterbarkeit und Unterstützung für traditionelle relationale Daten und moderne JSON-Dokumente. Es läuft auf dedizierten Clustern mit konfigurierbaren CPU, RAM und Speicher innerhalb Ihres virtuellen Rechenzentrums.
PostgreSQL unterstützt ACID-Transaktionen, die Datenkonsistenz und Zuverlässigkeit für mission-kritische Anwendungen gewährleisten. Es bietet erweiterte Indexierungsoptionen, Volltextsuche und leistungsstarke Abfrageoptimierung. Sie können PostgreSQL-Erweiterungen verwenden, um Funktionen wie Geodaten-Unterstützung (PostGIS), erweiterte Statistiken und kryptografische Funktionen hinzuzufügen. Die Datenbank verarbeitet sowohl strukturierte Daten in Tabellen als auch semi-strukturierte Daten, die als JSON oder JSONB gespeichert sind.
Wichtige Funktionen umfassen vertikale Skalierung (Hinzufügen von CPU, RAM, Speicher auf Abruf) und horizontale Skalierung (Hinzufügen von Replikainstanzen für Leseverkehr). Eine hohe Verfügbarkeit wird durch Multi-Node-Cluster mit konfigurierbaren Replikationsmodi erreicht. Wählen Sie asynchrone Replikation (Standard) für die beste Leistung oder streng-synchrone Replikation für Null-Datenverlust-Commit-Garantien. Streng-synchrone Replikation erfordert mindestens drei Replikate.
Überwachung legt Cluster-Metriken über den Data Center Designer, Telemetrie-API und Monitoring Service offen, wobei die Aufbewahrungszeit vom Kunden konfiguriert werden kann (längere Aufbewahrungszeit erhöht die Speicherkosten; keine feste Standardperiode wird veröffentlicht). Automatisierte Backups kombinieren kontinuierliche Write-Ahead-Log-(WAL)-Archivierung mit täglichen Basis-Backups, um eine Punkt-in-der-Zeit-Wiederherstellung für bis zu einer Woche zu ermöglichen. Sie können sogar Cluster aus vorhandenen Backups für Test- oder Entwicklungsumgebungen klonen.
2.2 Managed MariaDB
Managed MariaDB bietet eine MySQL-kompatible relationale Datenbank, die ursprünglich als community-getriebener Fork von MySQL entstand. Es treibt hochverkehrsreiche Dienste wie Wikipedia und WordPress.com an. MariaDB bietet vertraute MySQL-Syntax und -Verhalten, während es Erweiterungen für Leistung, Speicher-Engines und Analytics hinzufügt.
MariaDB ist vollständig ACID-konform und unterstützt Trigger, gespeicherte Prozeduren und Ansichten. Es umfasst mehrere Speicher-Engines, die für verschiedene Workloads optimiert sind, von transaktionalen InnoDB bis hin zu Spalten-Speicher-Engines für Analytics. Die native Unterstützung für JSON und GIS-Funktionen macht es für Anwendungen geeignet, die strukturierte und semi-strukturierte Daten mischen.
Der Dienst bietet vertikale Skalierung bis zu 16 Kernen und 32 GB RAM pro Node, mit Multi-Node-High-Availability-Clustern für automatischen Failover. Jeder Benutzer hat 250 Verbindungen und max_connections ist auf 500 gesetzt. Der Speicher ist SSD-basierend, die Obergrenze für die Speichergröße beträgt 2 TB.
Eine einzigartige Selbst-Wiederherstellungs-Funktion ermöglicht es Ihnen, bestimmte Backups wiederherzustellen oder auf einen beliebigen Punkt in der einwöchigen Aufbewahrungszeit direkt über den Data Center Designer oder API zurückzukehren. Diese Funktion reduziert die Ausfallzeit und das Datenverlustrisiko ohne dass Support-Tickets erforderlich sind.
2.3 Auswahl zwischen PostgreSQL und MariaDB
Sowohl PostgreSQL als auch MariaDB sind hervorragende relationale Datenbanken, aber sie zeichnen sich in verschiedenen Szenarien aus. Das Verständnis, wann man jedes verwenden sollte, hilft Ihnen, die richtige Wahl für Ihre Anwendung zu treffen.
Wählen Sie PostgreSQL, wenn Sie erweiterte Funktionen wie fortschrittliche Indexierung, umfangreiche Erweiterungen oder strenge transaktionale Konsistenz benötigen. PostgreSQL zeichnet sich bei komplexen analytischen Abfragen, Anwendungen, die relationale und JSON-Daten mischen, und Workloads aus, die synchrone Replikation mit Null-Datenverlust erfordern. Es ist ideal für Finanzsysteme, ERP-Anwendungen und Data-Warehousing, bei denen ACID-Garantien und Abfrageflexibilität kritisch sind.
Wählen Sie MariaDB, wenn Sie vorhandenes MySQL-Wissen oder -Anwendungen haben, eine vertraute MySQL-kompatible Syntax benötigen oder Web-Anwendungen und E-Commerce-Plattformen aufbauen. MariaDB bietet hervorragende Leistung für hochkonkurrierende Lese-Workloads und bietet starke GIS- und JSON-Fähigkeiten. Es ist gut geeignet für Content-Management-Systeme, SaaS-Plattformen und Szenarien, bei denen die MySQL-Kompatibilität die Migration vereinfacht.
3. Dokumentendatenbank und NoSQL-Dienste
Dokumentendatenbanken speichern Daten als flexible JSON-ähnliche Dokumente anstelle von festen Tabellenschemata. Diese Flexibilität macht sie ideal für Anwendungen mit schnell evolvierenden Datenmodellen oder hoch variablen Datenstrukturen.
3.1 Managed MongoDB
Managed MongoDB ist der vollständig gemanagte Dienst von IONOS für die MongoDB-Dokumentendatenbank. MongoDB speichert Daten als BSON-Dokumente (binäre JSON-Dokumente) in Sammlungen, wodurch jedes Dokument eine unterschiedliche Struktur haben kann. Diese Schemaflexibilität beschleunigt die Entwicklung, indem sie starre Schemamigrationen eliminiert.
MongoDB wird in drei Editionen angeboten, um unterschiedliche Bedürfnisse zu erfüllen. Die Playground-Edition bietet eine kostenlose Einzel-Node-Cluster mit 2 GB RAM, 1 vCPU und 50 GB Speicherplatz auf gemeinsamer Infrastruktur für Entwicklung und Testen. Die Business-Edition bietet vorgefertigte Vorlagen für Produktionsworkloads mit Multi-Instanz-Clustern auf Basis von Cube-VMs und NVMe-Speicher. Die Enterprise-Edition bietet vollständige Kontrolle über die Node-Größe unter Verwendung von Dedicated-Core-VMs, SSD- und HDD-Block Storage, Sharding-Konfigurationen und umfasst den Zugriff auf das professionelle Support-Team von MongoDB zusätzlich zum IONOS-Support.
Wichtige Funktionen umfassen horizontales Skalieren durch integriertes Sharding und Replikasets. Sharding verteilt Daten auf mehrere Knoten, um massive Datensätze und hohe Schreibdurchsätze zu bewältigen. Replikasets bieten Hochverfügbarkeit mit automatischem Failover. MongoDB unterstützt bis zu etwa 114.000 Verbindungen pro Cluster, was die Verbindungsgrenzen relationaler Datenbanken weit übertrifft.
NVMe-Speicher ist in der Business-Edition verfügbar, die auf Cube-VMs gehostet wird. SSD- oder HDD-Block Storage ist in der Enterprise-Edition verfügbar, die auf dedizierten Core-VMs gehostet wird. Multi-Instanz-Cluster replizieren Daten automatisch auf Knoten, wobei der primäre Knoten Schreibvorgänge und die sekundären Knoten Lesevorgänge übernimmt. Der Dienst umfasst kontinuierliche Log-Sammlung mit 30-Tage-Retention und integrierte Metriken für CPU, Arbeitsspeicher, Speicher, Verbindungen und Cluster-Gesundheit.
MongoDB ist von MongoDB Inc. zertifiziert und vollständig kompatibel mit Standard-MongoDB-Tools, -Treibern und der mongo-Shell. Sie verwalten Cluster über die Data Center Designer, die dedizierte MongoDB-REST-API oder SDKs. Tägliche Off-Site-Snapshots werden in Object Storage für bis zu sieben Tage gespeichert, und Enterprise-Cluster fügen eine punktgenaue Wiederherstellung hinzu.
3.2 Wann man MongoDB verwenden sollte
MongoDB eignet sich hervorragend für Szenarien, in denen Schemaflexibilität wertvoll ist. Schnell entwickelte Projekte profitieren von der Fähigkeit, die Dokumentstruktur ohne Datenbankmigrationen zu ändern. Content-Management-Systeme, Mobile-Application-Backends und IoT-Plattformen haben oft variable Datenstrukturen, die sich natürlicherweise in Dokumentmodelle einpassen.
Hohe Schreiblasten nutzen die horizontale Skalierbarkeit von MongoDB durch Sharding. Anwendungen, die massive Datenmengen generieren, wie z.B. Click-Stream-Analytics oder Benutzerevent-Tracking, können Schreibvorgänge auf mehrere Shards verteilen, um bessere Leistungen zu erzielen. Das Dokumentmodell vereinfacht auch die Speicherung komplexer verschachtelter Datenstrukturen, die in relationalen Datenbanken mehrere Tabellen und Joins erfordern würden.
Verwenden Sie MongoDB, wenn Ihre Anwendung sich entwickelnde Anforderungen hat und Sie häufig neue Felder hinzufügen oder Datenstrukturen ändern müssen. Wählen Sie es für Multi-Tenant-SaaS-Anwendungen, bei denen jeder Mandant benutzerdefinierte Felder haben kann. Berücksichtigen Sie es für Echtzeit-Analytics, bei denen Schemaflexibilität und hohe Verbindungszahlen Vorteile sind.
4. Spezialisierte Datenbankdienste
Jenseits von herkömmlichen relationalen und Dokumentendatenbanken bietet IONOS spezialisierte Dienste für Caching und Ereignisstreaming. Diese Dienste lösen spezifische Leistungs- und Architekturherausforderungen.
4.1 In-Memory DB
In-Memory DB ist IONOS' vollständig gemanagter, Redis-kompatibler Datenbankdienst, der alle Daten in RAM für Zugriffszeiten im Submillisekundenbereich speichert. Im Gegensatz zu diskbasierten Datenbanken, die von Speichermedium lesen, liefert In-Memory DB Daten direkt aus dem Arbeitsspeicher, was eine Leistung bringt, die tausende Male höher ist.
Der Dienst basiert auf Redis, einem Open-Source-In-Memory-Datenserver. Er unterstützt verschiedene Datentypen, einschließlich Zeichenfolgen, Hashes, Listen, Mengen, sortierte Mengen, Bitmaps, Hyperloglogs, geospatialen Indizes und Streams. Diese Flexibilität macht ihn nützlich über einfaches Key-Value-Caching hinaus.
Die Persistenzoptionen ermöglichen es Ihnen, Geschwindigkeit mit Dauerhaftigkeit zu balancieren. Wählen Sie keine Persistenz für reines Caching, bei dem Daten neu erstellt werden können, RDB-Snapshots für periodische Prüfungen, AOF-Protokollierung (Append-Only-File) für kontinuierliche Schreibdauerhaftigkeit oder kombinieren Sie beides für maximalen Schutz. Die Persistenz schreibt Daten in SSD, damit Cluster nach Neustarts wiederhergestellt werden können.
In-Memory DB bietet vertikale Skalierung (Hinzufügen von CPU, RAM, Speicher) und horizontale Skalierung (Hinzufügen von Knoten). Die Speicherkapazität skaliert automatisch basierend auf RAM und dem gewählten Persistenzmodus. Eine hohe Verfügbarkeit wird durch Multi-Node-Cluster mit asynchroner Replikation als Standard erreicht, wobei ein optionaler semi-synchroner Modus für eine stärkere Konsistenz zur Verfügung steht.
Die Sicherheit umfasst TLS-verschlüsselte Clientverbindungen, rollenbasierte Zugriffskontrolle und private Netzwerkbereitstellung. Jede Instanz wird auf dedizierten Enterprise-VMs ausgeführt und ist nur über private LANs innerhalb Ihres VDC erreichbar. Ressourcenbeschränkungen umfassen ein Maximum von 16 CPU-Kernen, 32 GB RAM, 2 TB Speicher pro Instanz und bis zu 10 Standardinstanzen pro Vertrag.
4.2 In-Memory DB-Anwendungsfälle
In-Memory DB eignet sich hervorragend als Datenbank-Caching-Schicht. Platzieren Sie es vor Ihrer primären Datenbank, um häufig abgerufene Daten in RAM zu speichern. Dies reduziert die Anzahl der Abfragen, die Ihre Datenbank treffen, senkt die Latenz und verbessert die Gesamtsystemreaktion. Caching ist besonders wertvoll für leseintensive Workloads, bei denen dieselben Daten von vielen Benutzern wiederholt abgerufen werden.
Echtzeit-Analytics-Anwendungen verwenden In-Memory DB, um Streaming-Daten mit Submillisekunden-Latenz zu verarbeiten. Online-Werbeplattformen, Empfehlungsmotoren und Echtzeit-Dashboards erfordern sofortigen Datenzugriff, den diskbasierte Speicher nicht liefern kann. In-Memory DB kann große Mengen an Ereignissen im Arbeitsspeicher aggregieren, Berechnungen durchführen und Ergebnisse sofort an Anwendungen liefern.
Eine weitere häufige Anwendung ist die Sitzungsspeicherung. Webanwendungen speichern Benutzersitzungsdaten in In-Memory DB für schnellen Zugriff über mehrere Anwendungsserver hinweg. Der In-Memory-Speicher stellt sicher, dass Sitzungsabfragen die Benutzerinteraktionen nicht verlangsamen. Nachrichtenvermittlung und Leaderboards für Gaming-Anwendungen profitieren ebenfalls von der Geschwindigkeit und der Datenstrukturunterstützung, die In-Memory DB bietet.
4.3 Event Streams for Apache Kafka
Event Streams for Apache Kafka ist IONOS' vollständig gemanagter Dienst für Echtzeit-Ereignisstreaming und -verarbeitung. Apache Kafka ist eine verteilte Streaming-Plattform, die als Hochleistungs-Nachrichtenbroker und Ereignisprotokoll fungiert. Anwendungen veröffentlichen Ereignisstreams in Kafka-Themen, und andere Anwendungen abonnieren diese Themen, um Ereignisse in Echtzeit zu verarbeiten.
Kafka organisiert Daten in Themen, die partitioniert und repliziert werden, um Skalierbarkeit und Dauerhaftigkeit zu gewährleisten. Partitionen ermöglichen parallele Verarbeitung, während die Nachrichtenreihenfolge innerhalb jeder Partition beibehalten wird. Replikation stellt sicher, dass Daten nicht verloren gehen, wenn ein Broker ausfällt. Produzenten schreiben Ereignisse in Themen, und Konsumenten lesen Ereignisse in ihrem eigenen Tempo, wodurch flexible Architekturen ermöglicht werden.
IONOS Event Streams bietet fünf vordefinierte Cluster-Größen von XS bis XL, jede mit dediziertem CPU, RAM und SSD-Speicher. Sie können Cluster je nach Durchsatz- und Speicherbedarf hoch- oder herunterskalieren. Eine hohe Verfügbarkeit ist durch redundante Knoten und automatisches Failover gewährleistet. Sie konfigurieren den Replikationsfaktor, um zu steuern, wie viele Kopien jeder Partition über Broker hinweg existieren.
Die Sicherheit umfasst TLS-verschlüsselte Kommunikation, starke Authentifizierung durch TLS-Zertifikate und feingranulierte Autorisierungskontrollen. Cluster werden an private LANs angeschlossen, um isolierten Netzwerkverkehr zwischen Ihren Anwendungen und Kafka zu gewährleisten. Sie können Partitionen, Aufbewahrungszeit und Aufbewahrungsgöße anpassen, um Durchsatz- und Speicheranforderungen zu erfüllen.
Die Verwaltung ist über die grafische Data Center Designer, APIs und SDKs verfügbar. Sie können Cluster, Themen, Broker und Berechtigungen erstellen und konfigurieren, ohne tiefe Kafka-Kenntnisse zu benötigen. Der Dienst verwaltet die zugrunde liegende Infrastruktur, Patching und Überwachung, sodass Ihr Team sich auf den Bau von Streaming-Anwendungen konzentrieren kann.
4.4 Event-Streams-Anwendungsfälle
Event Streams eignet sich hervorragend für die Echtzeit-Dataverarbeitung im großen Maßstab. E-Commerce-Plattformen erfassen Millionen von Transaktionen, Lageraktualisierungen und Benutzerinteraktionen pro Tag. Kafka bewältigt diesen Volume durch Partitionierung und parallele Verarbeitung. Stream-Processing-Frameworks wie Kafka Streams, Apache Flink oder Spark lesen von Kafka-Themen, führen komplexe Ereignisverarbeitung durch und schreiben Ergebnisse in nachgelagerte Systeme wie Datenbanken oder Dashboards. Dies ermöglicht Echtzeit-Personalisierung, Betrugsbekämpfung und operative Analytik.
Die IoT-Datenverwaltung nutzt Kafka, um kontinuierliche Streams von Tausenden von Sensoren zu sammeln. Smart-City-Initiativen bereitstellen Kafka-Cluster in der Nähe von Edge-Standorten, um die Latenz zu minimieren. Sensoren drücken Telemetriedaten in Themen, und Stream-Processing-Jobs erkennen Muster, lösen Alarme aus und füttern AI/ML-Pipelines. Die Log-Kompaktion behält den aktuellen Zustand pro Gerät bei, während Aufbewahrungsrichtlinien historische Daten verwalten. Diese Architektur ermöglicht Echtzeit-Überwachung, Anomalie-Erkennung und prädiktive Wartung.
Die Klick-Stream-Analyse für Websites und Mobile-Apps ist ein weiterer häufiger Anwendungsfall. Benutzerinteraktionen fließen in Kafka-Themen, wo sie in Echtzeit analysiert werden können, um Inhalte zu personalisieren, Verhaltensmuster zu erkennen und Geschäftsmetriken zu verfolgen. Finanzdienstleistungen verwenden Kafka für Transaktionsverarbeitung, regulatorische Berichterstattung und Marktdaten-Feeds, bei denen niedrige Latenz und garantierte Reihenfolge kritisch sind.
5. Auswahl des richtigen Datenbankdienstes
Die Auswahl des geeigneten Datenbankdienstes hängt von Ihrem Datenmodell, den Konsistenzanforderungen, den Skalierbarkeitsbedürfnissen und den Leistungserwartungen ab. Das Verständnis der Stärken jeder Option hilft Ihnen, Dienste mit Anwendungsanforderungen zu kombinieren.
5.1 Entscheidungsrahmen
Die folgende Tabelle vergleicht IONOS-Datenbankdienste über wichtige Merkmale:
| Funktion / Überlegung | Managed PostgreSQL | Managed MongoDB | Managed MariaDB | In-Memory DB | Event Streams für Kafka |
|---|---|---|---|---|---|
| Datenmodell | Relationales (SQL) mit JSON und GIS | Dokument (BSON/JSON) | Relationales (MySQL-kompatibel) | Schlüssel-Wert mit Datenstrukturen | Ereignisprotokoll / Nachrichtenstrom |
| Am besten geeignet für | Komplexe Transaktionen, ACID-Konformität, Joins | Flexible Schemata, schnelle Entwicklung | Web-Anwendungen, MySQL-Migration | Caching, Echtzeit-Analytics | Echtzeit-Ereignisverarbeitung, IoT |
| Skalierbarkeit | Vertikal + horizontal (Replikate) | Vertikal + horizontal (Sharding + Replikate) | Vertikal + horizontal (Replikate) | Vertikal + horizontal | Horizontal (Partitionen) |
| Konsistenz | Stark (strenges Synchronisieren verfügbar) | Letztendlich (konfigurierbar) | Stark | Letztendlich (konfigurierbar) | Konfigurierbar pro Thema |
| Latenz | Niedrig (Millisekunden) | Niedrig (Millisekunden) | Niedrig (Millisekunden) | Ultranieg (Submillisekunden) | Niedrig (Millisekunden) |
| Speichertyp | SSD Premium (bis zu 2 TB) | NVMe (Business), SSD oder HDD (Enterprise - bis zu 4 TB) | SSD (bis zu 2 TB) | RAM + SSD-Persistenz | SSD |
| Anwendungsfälle | Finanzen, ERP, Data-Warehousing | CMS, Mobile-Backends, IoT | Web-Anwendungen, E-Commerce, SaaS | Sitzungsspeicher, Echtzeit-Dashboards | Streaming-Analytics, Log-Aggregation |
Verwenden Sie relationale Datenbanken (PostgreSQL oder MariaDB), wenn Sie starke transaktionale Konsistenz, komplexe Joins über mehrere Tabellen und gut definierte Schemata benötigen. Wählen Sie Dokumentendatenbanken (MongoDB), wenn Ihr Datenmodell häufig evolviert oder je nach Aufzeichnung variiert. Wählen Sie In-Memory DB, wenn Sie Caching oder ultraniege Latenz benötigen. Wählen Sie Event Streams, wenn Sie hochVolume-Ereignisströme in Echtzeit verarbeiten müssen.
5.2 Kombination von Datenbankdiensten
Viele Anwendungen verwenden mehrere Datenbankdienste zusammen, um unterschiedliche Anforderungen zu erfüllen. Ein häufiges Muster kombiniert eine relationale Datenbank für transaktionale Daten mit In-Memory DB für Caching. Die relationale Datenbank stellt die Datenintegrität sicher und unterstützt komplexe Abfragen, während der Cache die Last reduziert und die Antwortzeiten verbessert.
Ein anderes Muster kombiniert eine primäre Datenbank mit Event Streams für die Echtzeitverarbeitung. Anwendungs-Schreibvorgänge werden in die Datenbank geschrieben und auch als Ereignisse an Kafka veröffentlicht. Stream-Prozessoren verarbeiten Ereignisse, um Suchindizes zu aktualisieren, Workflows auszulösen oder Analytics-Systeme zu speisen. Diese Architektur ermöglicht ereignisgesteuerte Microservices und Echtzeit-Datenpipelines ohne direkte Kopplung von Systemen.
E-Commerce-Plattformen könnten PostgreSQL für Bestellungen und Inventar, MongoDB für Produktkataloge mit variablen Attributen, In-Memory DB für Einkaufswagen-Sitzungen und Event Streams verwenden, um Benutzeraktivitäten und Inventaraktualisierungen in Echtzeit zu verarbeiten. Jeder Dienst behandelt die Workload, für die er am besten geeignet ist, und erstellt so eine flexible und leistungsfähige Architektur.
Häufige Anwendungsfälle
Reale Szenarien demonstrieren, wie die IONOS-Datenbankdienste Geschäftsherausforderungen lösen:
- E-Commerce-Plattform mit Multi-Datenbank-Architektur: Ein Online-Händler verwendet Managed PostgreSQL für Bestellabwicklung und Finanztransaktionen, bei denen ACID-Garantien kritisch sind (Abschnitt 2.1). Produktkataloge mit verschiedenen Attributen wie Kleidergrößen und Elektronikspezifikationen werden in Managed MongoDB für Schema-Flexibilität gespeichert (Abschnitt 3.1). Kunden-Einkaufswagen und Sitzungsdaten werden in In-Memory DB für sofortigen Zugriff und minimale Latenz gespeichert (Abschnitt 4.1). Benutzer-Klickströme fließen durch Event Streams for Apache Kafka, um Echtzeit-Empfehlungen und Inventaraktualisierungen zu ermöglichen (Abschnitt 4.3). Diese Kombination passt jeden Datentyp an den optimalen Datenbankdienst an.
- SaaS-Anwendung mit Caching und Hochverfügbarkeit: Eine Multi-Tenant-SaaS-Plattform verwendet Managed MariaDB für Kundendaten mit Multi-Node-Hochverfügbarkeits-Clustern, um eine Ausfallzeit von Null zu gewährleisten (Abschnitt 2.2). In-Memory DB zwischenspeichert häufig aufgerufene Mandantenkonfigurationen, wodurch die Anzahl der Abfragen, die die Datenbank treffen, erheblich reduziert und die Antwortzeiten verbessert werden (Abschnitt 4.2). Automatisierte Backups mit Point-in-Time-Wiederherstellung schützen vor Datenverlust, und die Selbstwiederherstellungs-Funktionen ermöglichen es dem Team, sich schnell von Fehlern zu erholen, ohne den Support kontaktieren zu müssen. Die private Netzwerk-Implementierung gewährleistet die Isolation und Sicherheit von Mandantendaten.
- IoT-Plattform mit Echtzeit-Analytics: Eine Smart-City-Initiative sammelt Daten von Tausenden von Verkehrssensoren und Umweltüberwachungssystemen. Event Streams for Apache Kafka nimmt Sensortelemetrie mit Partitionierung für paralleles Verarbeiten auf (Abschnitt 4.3). Stream-Verarbeitungsaufträge analysieren Verkehrsmuster in Echtzeit und lösen Alarme aus, wenn Anomalien erkannt werden. Historische Sensordaten werden in Managed MongoDB mit Zeitreihensammlungen optimiert für schreibintensive Workloads gespeichert (Abschnitt 3.1). In-Memory DB hält den aktuellen Sensorzustand für sofortige Dashboard-Aktualisierungen auf dem neuesten Stand (Abschnitt 4.1). Diese Architektur verarbeitet Millionen von Ereignissen pro Stunde, während sie eine Latenz von weniger als einer Sekunde für betriebliche Entscheidungen aufrechterhält, und verwendet dabei auch In-Memory DB, Event Streams for Apache Kafka und Managed MongoDB, um die Anforderungen zu erfüllen, wobei Managed MariaDB und Node für die Hochverfügbarkeit sorgen und Managed PostgreSQL für die kritischen Transaktionen zuständig ist.
Zusammenfassung
Datenbank- und Datendienste sind grundlegende Bausteine für Cloud-Anwendungen. IONOS bietet vollständig gemanagte Datenbankangebote, die die Infrastrukturbereitstellung, Patching, Sicherungen und Hochverfügbarkeit übernehmen, während Sie sich auf die Anwendungsentwicklung und das Schemadesign konzentrieren. Gemanagte Dienste bieten im Vergleich zu selbst gemanagten Bereitstellungen eine schnellere Markteinführung, geringere betriebliche Overhead-Kosten und nutzungsbasierte Preise.
Relationale Datenbanken wie Managed PostgreSQL und MariaDB bieten starke Konsistenz, ACID-Transaktionen und SQL-Abfragefunktionen für traditionelle Anwendungen, die strukturierte Daten und komplexe Joins erfordern. Dokumentendatenbanken wie Managed MongoDB bieten Schemaflexibilität und horizontale Skalierbarkeit für moderne Anwendungen mit sich ändernden Anforderungen. Spezialisierte Dienste wie In-Memory DB für Caching und Event Streams for Apache Kafka ermöglichen Echtzeitverarbeitung und ultra-niedrige Latenzzugriffsmuster.
Die Auswahl des richtigen Datenbankdienstes erfordert das Verständnis Ihres Datenmodells, der Konsistenzanforderungen, der Skalierbarkeitsanforderungen und der Leistungserwartungen. Viele Anwendungen kombinieren mehrere Dienste, um die Stärken jedes einzelnen zu nutzen. Das Verständnis dieser Optionen hilft Ihnen, Architekturen zu entwerfen, die leistungsfähig, zuverlässig und kosteneffizient sind.
Wichtige Punkte:
- Gemanagte Datenbankdienste übernehmen die Infrastruktur, das Patching, die Sicherungen und die Hochverfügbarkeit automatisch, sodass Ihr Team sich auf Anwendungen konzentrieren kann, anstatt auf den Betrieb
- Managed PostgreSQL und MariaDB bieten relationale SQL-Datenbanken mit ACID-Konformität, die für transaktionale Workloads, Finanzsysteme und Data-Warehousing geeignet sind
- Managed MongoDB bietet eine Dokumentendatenbank mit flexiblen Schemata und horizontaler Skalierbarkeit für Content-Management, Mobile-Backends und sich schnell ändernde Anwendungen
- In-Memory DB bietet eine Latenz von weniger als einer Millisekunde durch RAM-basierten Speicher, ideal für Caching, Sitzungsspeicherung und Echtzeit-Analytics
- Event Streams for Apache Kafka ermöglicht eine hohe Durchsatzrate für Echtzeit-Datenaufbereitung, IoT-Telemetrie und ereignisgesteuerte Architekturen
- Die Auswahl des richtigen Datenbankdienstes hängt vom Datenmodell (relational vs. Dokument vs. Schlüssel-Wert vs. Streaming), den Konsistenzanforderungen und den Skalierbarkeitsanforderungen ab
Wichtige Begriffe:
- Datenbank-as-a-Service (DBaaS): Vollständig gemanagter Datenbankdienst, bei dem der Anbieter die Infrastruktur, die Wartung und den Betrieb übernimmt
- ACID: Atomicität, Konsistenz, Isolation, Dauerhaftigkeit - Eigenschaften, die zuverlässige Datenbanktransaktionen gewährleisten
- Replikation: Kopieren von Daten auf mehrere Datenbankknoten, um Hochverfügbarkeit und Fehlertoleranz zu gewährleisten
- Point-in-Time-Wiederherstellung (PITR): Fähigkeit, eine Datenbank auf einen bestimmten Zeitpunkt innerhalb des Sicherungsretentionszeitraums wiederherzustellen
- Sharding: Verteilung von Daten auf mehrere Datenbankknoten, um horizontal zu skalieren und größere Datensätze zu verarbeiten
- Dokumentendatenbank: NoSQL-Datenbank, die Daten als flexible JSON-ähnliche Dokumente anstelle von festen Schemata speichert
- In-Memory-Datenbank: Datenbank, die Daten im RAM-Speicher für ultra-schnellen Zugriff mit Latenzen von weniger als einer Millisekunde speichert
- Ereignis-Streaming: Kontinuierlicher Fluss von Ereignisdaten durch ein verteiltes Log-System für Echtzeitverarbeitung
Nächste Schritte
Weiterlernen: Einheit 2.6: Sicherheitsdienste
Verwandte Themen:
- Einheit 2.3: Speicherdienste - Persistente Datenspeicheroptionen, die die Datenbankdienste ergänzen
- Einheit 3.4: Activity Logs und Überwachung - Überwachung der Datenbankleistung und -betrieb