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 zu den Spezialisten gehören. 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 CLOUD die Infrastruktur, das Patching, die Sicherungen und die Wartung übernimmt.
In dieser Einheit werden Sie die IONOS CLOUD 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 Ihre Anwendungsanforderungen auszuwählen.
1. Überblick über gemanagte Datenbanken
Database-as-a-Service (DBaaS) liefert vollständig gemanagte Datenbank-Engines, die auf dedizierter Infrastruktur innerhalb Ihres virtuellen Rechenzentrums ausgeführt werden. IONOS CLOUD übernimmt die Bereitstellung, Patching, Sicherungen und Hochverfügbarkeit, während Sie die volle Kontrolle über Ihre Daten und die 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 stellen einen Cluster über den Data Center Designer oder die API bereit, 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 Deployments in mehreren wichtigen Punkten. Der Cloud-Anbieter stellt die Hardware bereit, 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-Practices, 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 Deployments in kritischen betrieblichen Bereichen:
| Bereich | Vorteile gemanagter DB | Anforderungen selbst gemanagter Deployments |
|---|---|---|
| Hardware & Firmware | Anbieter stellt Server, Treiber und Firmware automatisch bereit und wartet sie | Kauf, Einrichtung, Stromversorgung, Netzwerkverbindung und Patching von physischen Maschinen manuell |
| Erstkonfiguration | Datenbanken sind vor konfiguriert und sofort einsatzbereit | Installation von Datenbank-Software, Parameter-Anpassung, 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 | Verfolgen von Sicherheits-Releases, Planen von Ausfallzeiten, Testen von Upgrades, manuelles Anwenden |
| Hochverfügbarkeit | Integrierte HA-Cluster mit automatischem Failover und Replikation | Entwerfen und Implementieren einer eigenen Replikations-Topologie und Testen von Failover-Prozeduren |
| Sicherung & Wiederherstellung | Tägliche automatisierte Sicherungen mit punktgenauer Wiederherstellung | Bereitstellen von Backup-Agents, Planen von Snapshots, Verwalten von Aufbewahrungsfristen, Testen von Wiederherstellungen |
| Skalierbarkeit | Vertikale und horizontale Skalierung über API oder Konsole | Beschaffen größere Server, Hinzufügen von Knoten, Neukonfiguration von Lastverteilern, Migration von Daten |
| Sicherheit | TLS-Verschlüsselung, rollenbasierte Zugriffskontrolle, private Netzwerkverbindung | Sichern des Betriebssystems, Verwalten von Zertifikaten, Konfigurieren von Firewalls und Netzwerk-Segmentierung |
| Überwachung | Integrierte Metriken, Protokolle, Alarme verfügbar im Kontrollpanel oder über API | Installieren von Überwachungs-Agents, Erstellen von Dashboards, Aufrechterhalten von Alarm-Pipelines |
| Kostenmodell | Pay-as-you-go Abrechnung pro Minute für genutzte Ressourcen | Kapitalausgaben für Hardware, überproportionierte Kapazität, langfristige Verträge |
Gemanagte Datenbanken liefern Geschwindigkeit und Einfachheit durch die Bereitstellung produktionsbereiter Umgebungen in Minuten. Sie bieten Zuverlässigkeit durch automatisierte Hochverfügbarkeits-Konfigurationen und Hersteller-unterstützte Patches. Sie verbessern die betriebliche Effizienz durch Befreiung Ihres Teams von Routine-Administrations-Aufgaben. Sie bieten finanzielle Flexibilität durch nutzungsbasierte Preise, die sich an Ihre tatsächliche Nutzung anpassen.
1.3 Gemeinsame Funktionen gemanagter Datenbanken
Alle IONOS CLOUD-gemanagten Datenbank-Dienste teilen Kernfähigkeiten, die Unternehmens-grade Zuverlässigkeit und Sicherheit gewährleisten. Jeder Dienst läuft auf dedizierten VM mit garantierten CPU-, RAM- und Speicher-Ressourcen. Cluster werden innerhalb privater LANs in Ihrem virtuellen Rechenzentrum bereitgestellt, was Netzwerk-Isolation und -Sicherheit gewährleistet.
Hochverfügbarkeit ist Standard durch Multi-Node-Cluster mit automatischem Failover. Wenn ein Knoten ausfällt, wird der Cluster automatisch einen Replikat zum Aufrechterhalten der Dienstkontinuität fördern. Die Replikation kann als asynchron für beste Leistung oder streng-synchron für null Datenausfall (Verfügbarkeit variiert je nach Engine) konfiguriert werden.
Sicherheit ist in jede Schicht eingebaut. Alle Client-Verbindungen verwenden TLS-Verschlüsselung zum Schutz der Daten während der Übertragung. 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 Engines hinweg, mit punktgenauer Wiederherstellung typischerweise für bis zu einer Woche verfügbar; 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 ganze 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 im Data Center Designer integriert und über APIs verfügbar. Sie können CPU-Nutzung, Speicherbedarf, Speicherkapazität, Verbindungszahlen und Abfrageleistung verfolgen. Metriken und Protokolle helfen Ihnen bei der Optimierung der Leistung und der Fehlerbehebung vor dem Eintreten von Benutzerproblemen.
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 CLOUD bietet zwei relationale Datenbank-Engines: PostgreSQL und MariaDB.
2.1 Managed PostgreSQL
Managed PostgreSQL liefert eine voll kompatible, unternehmensklasse PostgreSQL-Datenbank als gemanagten Dienst. PostgreSQL ist bekannt für seine fortschrittlichen 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 Funktionalitäten 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 Fähigkeiten 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-Kommit-Garantien. Streng-synchrone Replikation erfordert zwei betriebsfähige Knoten; ein Minimum von drei Instanzen wird für die Produktion empfohlen.
Überwachung legt Cluster-Metriken über den Data Center Designer, Telemetry-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-Zeit-Wiederherstellung für bis zu eine Woche zu ermöglichen. Sie können sogar Cluster aus bestehenden Backups für Test- oder Entwicklungsumgebungen klonen.
2.2 Managed MariaDB
Managed MariaDB bietet eine MySQL-kompatible relationale Datenbank, die ursprünglich als community-getriebene Abspaltung von MySQL entstand. Es unterstützt hoch frequentierte Dienste wie Wikipedia und WordPress.com. MariaDB bietet vertraute MySQL-Syntax und -Verhalten, während es Verbesserungen für Leistung, Speicher-Engines und Analytik 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 Analytik. 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 Knoten, mit Multi-Node-Hochverfügbarkeitsclustern für automatisches Failover. Jeder Benutzer hat 250 Verbindungen und max_connections ist auf 500 gesetzt. Der Speicher ist SSD-gestützt, 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 Zeitpunkt während der einwöchigen Aufbewahrungszeit direkt über den Data Center Designer oder API zurückzukehren. Diese Fähigkeit reduziert Ausfallzeiten und Datenverlustrisiken ohne die Notwendigkeit von Support-Tickets.
2.3 Auswahl zwischen PostgreSQL und MariaDB
Sowohl PostgreSQL als auch MariaDB sind hervorragende relationale Datenbanken, aber sie zeichnen sich in unterschiedlichen Szenarien aus. Das Verständnis dafür, wann man jedes verwenden sollte, hilft Ihnen bei der richtigen Wahl für Ihre Anwendung.
Wählen Sie PostgreSQL, wenn Sie anspruchsvolle Funktionen wie erweiterte Indexierung, umfangreiche Erweiterungen oder strenge transaktionale Konsistenz benötigen. PostgreSQL zeichnet sich bei komplexen analytischen Abfragen, Anwendungen aus, 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-Anwendungen, 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 Webanwendungen und E-Commerce-Plattformen erstellen. MariaDB bietet hervorragende Leistung für hoch konkurrierende 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 MySQL-Kompatibilität den Migrationsprozess 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 CLOUD für die MongoDB-Dokumentendatenbank. MongoDB speichert Daten als BSON-Dokumente (binäres JSON) 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 einen kostenlosen Single-Node-Cluster mit 2 GB RAM, 1 vCPU und 50 GB Speicherplatz auf gemeinsamer Infrastruktur für Entwicklung und Testing. 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 Knotengröße unter Verwendung von Dedicated-Core-VMs, SSD- und HDD-Blockspeicher, Sharding-Konfigurationen und umfasst den Zugriff auf das professionelle Support-Team von MongoDB zusätzlich zum IONOS CLOUD-Support.
Wichtige Funktionen umfassen horizontales Skalieren durch integriertes Sharding und Replikatsätze. Sharding verteilt Daten auf mehrere Knoten, um massive Datensätze und hohe Schreibdurchsätze zu bewältigen. Replikatsätze 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-Blockspeicher ist in der Enterprise-Edition verfügbar, die auf dedizierten Core-VMs gehostet wird. Multi-Instanz-Cluster replizieren Daten automatisch über Knoten, wobei der primäre Knoten Schreibvorgänge ausführt und sekundäre Knoten Lesevorgänge ausführen. 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 den 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-Anwendungsbackends und IoT-Plattformen haben oft variable Datenstrukturen, die sich natürlicherweise in Dokumentmodelle einpassen.
Hohe Schreiblasten nutzen MongoDBs horizontales Skalieren durch Sharding. Anwendungen, die massive Mengen an Daten generieren, wie z.B. Clickstream-Analytics oder Benutzerevent-Tracking, können Schreibvorgänge über mehrere Shards verteilen, um bessere Leistungen zu erzielen. Das Dokumentmodell vereinfacht auch das Speichern 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 CLOUD spezialisierte Dienste für Caching und Ereignis-Streaming. Diese Dienste lösen spezifische Leistungs- und Architekturherausforderungen.
4.1 In-Memory DB
In-Memory DB ist der vollständig gemanagte, Redis-kompatible Datenbankdienst von IONOS CLOUD, der alle Daten im Arbeitsspeicher für Zugriffszeiten im Submillisekundenbereich speichert. Im Gegensatz zu diskbasierten Datenbanken, die von der Speicherung lesen, dient In-Memory DB Daten direkt aus dem Arbeitsspeicher, wodurch die Leistung tausendfach schneller ist.
Der Dienst basiert auf Redis, einem Open-Source-In-Memory-Datentruktur-Server. Er unterstützt verschiedene Datentypen, einschließlich Zeichenfolgen, Hashes, Listen, Sets, sortierte Sets, Bitmaps, Hyperloglogs, geospatialen Indexen und Streams. Diese Flexibilität macht ihn nützlich über einfaches Schlüssel-Wert-Caching hinaus.
Die Persistence-Optionen ermöglichen es Ihnen, Geschwindigkeit mit Dauerhaftigkeit zu balancieren. Wählen Sie keine Persistence 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. Persistence schreibt Daten auf SSD, sodass Cluster nach Neustarts wiederhergestellt werden können.
In-Memory DB bietet vertikale Skalierung (Hinzufügen von CPU, Arbeitsspeicher, Speicher) und horizontale Skalierung (Hinzufügen von Knoten). Die Speicherkapazität skaliert automatisch basierend auf dem Arbeitsspeicher und dem gewählten Persistenzmodus. Eine hohe Verfügbarkeit wird durch Multi-Knoten-Cluster mit asynchroner Replikation als Standard erreicht, wobei optional ein semi-synchroner Modus für eine stärkere Konsistenz zur Verfügung steht.
Sicherheit umfasst TLS-verschlüsselte Clientverbindungen, rollenbasierte Zugriffskontrolle und private Netzwerk-Only-Bereitstellung. Jede Instanz wird auf dedizierten Enterprise-VMs ausgeführt und ist nur über private LANs innerhalb Ihres VDC erreichbar. Ressourcenlimits umfassen ein Standardkontingent von 16 CPU-Kernen, 32 GB Arbeitsspeicher, 1500 GB Festplattenspeicher und 10 Datenbankcluster pro Vertrag, wobei bis zu 5 Instanzen pro Cluster und bis zu 2 TB Speicher pro Instanz möglich sind.
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 zugängliche Daten im Arbeitsspeicher 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 zur Verarbeitung von Streaming-Daten mit Submillisekunden-Latenz. Online-Werbeplattformen, Empfehlungsmotoren und Echtzeit-Dashboards erfordern sofortigen Datenzugriff, den diskbasierte Speicherung nicht bieten kann. In-Memory DB kann große Mengen an Ereignissen im Arbeitsspeicher aggregieren, Berechnungen durchführen und Ergebnisse sofort an Anwendungen liefern.
Eine weitere gängige Anwendung ist die Sitzungsspeicherung. Webanwendungen speichern Benutzersitzungsdaten in In-Memory DB für schnellen Zugriff über mehrere Anwendungsserver hinweg. Der Arbeitsspeicher stellt sicher, dass Sitzungsabfragen nicht die Benutzerinteraktion verlangsamen. Nachrichtenvermittlung und Bestenlisten für Gaming-Anwendungen profitieren ebenfalls von der Geschwindigkeit und der Datentrukturunterstützung von In-Memory DB.
4.3 Event Streams for Apache Kafka
Event Streams for Apache Kafka ist der vollständig gemanagte Dienst von IONOS CLOUD für Echtzeit-Ereignis-Streaming und -Verarbeitung. Apache Kafka ist eine verteilte Streaming-Plattform, die als Hochleistungs-Nachrichtenbroker und Ereignisprotokoll fungiert. Anwendungen veröffentlichen Ereignisströme 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 können, um Skalierbarkeit und Dauerhaftigkeit zu gewährleisten. Partitionen ermöglichen parallele Verarbeitung unter Beibehaltung der Nachrichtenreihenfolge innerhalb jeder Partition. 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 aus, wodurch flexible Architekturen ermöglicht werden.
IONOS CLOUD Event Streams bietet fünf vordefinierte Clustergrößen von XS bis XL an, jede mit dediziertem CPU-, Arbeitsspeicher- und SSD-Speicherplatz. Sie können Cluster je nach Bedarf an Durchsatz und Speicherplatz anpassen. Eine hohe Verfügbarkeit ist durch redundante Knoten und automatisches Failover gewährleistet. Sie konfigurieren den Replikationsfaktor zur Kontrolle der Anzahl der Kopien jeder Partition über Broker hinweg.
Sicherheit umfasst TLS-verschlüsselte Kommunikation, starke Authentifizierung durch TLS-Zertifikate und feingranulierte Autorisierungskontrollen. Cluster werden an private LANs angehängt für isolierten Netzwerkverkehr zwischen Ihren Anwendungen und Kafka. Sie können Partitionen anpassen sowie Aufbewahrungszeitraum und -größe an Durchsatz- und Speicheranforderungen anpassen.
Die Verwaltung erfolgt über den grafischen Data Center Designer sowie APIs und SDKs. Sie können Cluster erstellen und konfigurieren sowie Themen-, Broker- und Berechtigungsprofile ohne tiefe Kafka-Kenntnisse definieren. Der Dienst verwaltet die zugrunde liegende Infrastruktur sowie Patching- und Überwachungsaufgaben so dass Ihr Team sich auf den Bau von Streaming-Anwendungen konzentrieren kann.
4.4 Event Streams-Anwendungsfälle
Event Streams eignet sich hervorragend für Echtzeit-Dataverarbeitung im großen Maßstab. E-Commerce-Plattformen erfassen Millionen von Transaktionen pro Tag sowie Inventaraktualisierungen und Benutzerinteraktionen pro Tag mit Kafka durch Partitionierung sowie paralleler Verarbeitung bewältigen kann . Streamverarbeitungsframeworks wie Kafka Streams oder Apache Flink lesen aus Kafka-Themen aus performieren komplexe Ereignisverarbeitung sowie schreiben Ergebnisse in Downstreamsysteme wie Datenbank oder Dashboards ein . Dadurch ermöglicht es personalisierte Inhalte Echtzeit-Fraud-Erkennung sowie betriebliche Analytik .
IoT-Datenmanagement nutzt Kafka zur Erfassung kontinuierlicher Ströme von Tausenden Sensoren . Smart-City-Projekte setzen Kafka Cluster nahe Edge-Standort ein , um Latenz zu minimieren . Sensoren drücken Telemetriedaten in Themen ein , während Streamverarbeitungsaufträge Muster erkennen , Warnungen auslösen sowie AI/ML-Pipelines füttern . Log-Kompaktion behält den aktuellen Zustand pro Gerät bei , während Aufbewahrungsrichtlinien historische Daten verwalten . Diese Architektur ermöglicht Echtzeitüberwachung Anomalieerkennung sowie prädiktive Wartung .
Klickstromanalyse für Webseiten sowie mobile Apps ist ein weiterer häufiger Anwendungsfall . Benutzerinteraktion fließt in Kafka-Themen ein wo sie analysiert werden können um Inhalte personalisiert darzustellen Verhaltensmuster zu erkennen sowie Geschäftsmetriken nachzuverfolgen . Finanzdienstleister nutzen Kafka zur Transaktionsverarbeitung regulatorischer Berichterstattung sowie Marktdatenfeeds wo niedrige Latenz sowie garantierte Sortierung entscheidend 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. Durch das Verständnis der Stärken jeder Option können Sie Dienste mit den Anforderungen Ihrer Anwendung abstimmen.
5.1 Entscheidungsframework
Die folgende Tabelle vergleicht die IONOS CLOUD-Datenbankdienste über wichtige Merkmale:
| Funktion / Überlegung | Managed PostgreSQL | Managed MongoDB | Managed MariaDB | In-Memory DB | Event Streams for 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 | Gering (Millisekunden) | Gering (Millisekunden) | Gering (Millisekunden) | Ultragering (Submillisekunden) | Gering (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 | Sitzungsspeicherung, Echtzeit-Dashboards | Streaming-Analytics, Log-Aggregation |
Verwenden Sie relationale Datenbanken (PostgreSQL oder MariaDB), wenn Sie starke transaktionale Konsistenz, komplexe Joins über mehrere Tabellen und wohldefinierte Schemata benötigen. Wählen Sie Dokumentendatenbanken (MongoDB), wenn Ihr Datenmodell häufig evolviert oder je nach Datensatz variiert. Wählen Sie In-Memory DB, wenn Sie Caching oder ultrageringe Latenz benötigen. Wählen Sie Event Streams, wenn Sie hochvolumige 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 gewährleistet die Datenintegrität 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. Anwendungsschreibvorgä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 Analyse-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 verwenden, MongoDB für Produktkataloge mit variablen Attributen, In-Memory DB für Warenkorbsitzungen und Event Streams zur Verarbeitung von Benutzeraktivitäten und Inventaraktualisierungen in Echtzeit. Jeder Dienst bearbeitet die Arbeitslast, 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 Datenbankdienste von IONOS CLOUD Geschäftsherausforderungen lösen:
- E-Commerce-Plattform mit Multi-Datenbank-Architektur: Ein Online-Händler verwendet Managed PostgreSQL für Bestellverarbeitung und Finanztransaktionen, bei denen ACID-Garantien kritisch sind (Abschnitt 2.1). Produktkataloge mit variablen Attributen wie Kleidergrößen und Elektronikspezifikationen werden in Managed MongoDB für Schema-Flexibilität gespeichert (Abschnitt 3.1). Kunden-Einkaufswagen und Sitzungsdaten befinden sich in In-Memory DB für sofortigen Zugriff und minimale Latenz (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ügbarkeitsclustern, die eine Ausfallzeit von Null gewährleisten (Abschnitt 2.2). In-Memory DB zwischenspeichert häufig zugängliche Mandantenkonfigurationen, reduziert die Anzahl der Abfragen, die die Datenbank treffen, und verbessert die Antwortzeiten (Abschnitt 4.2). Automatisierte Backups mit Punkt-in-der-Zeit-Wiederherstellung schützen vor Datenverlust, und Selbstwiederherstellungs-Funktionen ermöglichen es dem Team, schnell von Fehlern zu erholen, ohne den Support kontaktieren zu müssen. Die private Netzwerk-Bereitstellung 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 (Abschnitt 4.1). Diese Architektur verarbeitet Millionen von Ereignissen pro Stunde, während sie eine Latenz von weniger als einer Sekunde für operative Entscheidungen aufrechterhält.
Zusammenfassung
Datenbank- und Datendienste sind grundlegende Bausteine für Cloud-Anwendungen. IONOS CLOUD 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 liefern eine schnellere Markteinführung, einen geringeren operativen Aufwand und eine nutzungsbasierte Preisgestaltung im Vergleich zu selbst gemanagten Bereitstellungen.
Relationale Datenbanken wie Managed PostgreSQL und MariaDB bieten eine 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 ein 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 kosteneffektiv sind.
Wichtige Punkte:
- Gemanagte Datenbankdienste übernehmen Infrastruktur, Patching, Sicherungen und Hochverfügbarkeit automatisch, sodass Ihr Team sich auf Anwendungen statt auf Betrieb konzentrieren kann
- Managed PostgreSQL und MariaDB bieten relationale SQL-Datenbanken mit ACID-Konformität, geeignet für transaktionale Workloads, Finanzsysteme und Data-Warehousing
- 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 liefert Submillisekunden-Latenz durch RAM-basierten Speicher, ideal für Caching, Sitzungsspeicherung und Echtzeit-Analytics
- Event Streams for Apache Kafka ermöglicht Hochdurchsatz-Event-Streaming für Echtzeit-Datenaufbereitung, IoT-Telemetrie und ereignisgesteuerte Architekturen
- Die Auswahl des richtigen Datenbankdienstes hängt von dem 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 Infrastruktur, Wartung und Betrieb übernimmt
- ACID: Atomicität, Konsistenz, Isolation, Dauerhaftigkeit - Eigenschaften, die zuverlässige Datenbanktransaktionen garantieren
- Replikation: Kopieren von Daten über mehrere Datenbankknoten hinweg, um Hochverfügbarkeit und Fehlertoleranz zu gewährleisten
- Point-in-Time-Wiederherstellung (PITR): Fähigkeit, eine Datenbank auf einen bestimmten Zeitpunkt innerhalb des Sicherungsbeibehaltungszeitraums wiederherzustellen
- Sharding: Verteilung von Daten über mehrere Datenbankknoten hinweg, 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 Arbeitsspeicher speichert, um ultra-schnellen Zugriff mit Submillisekunden-Latenz zu ermöglichen
- Event-Streaming: Kontinuierlicher Fluss von Ereignisdaten durch ein verteiltes Logsystem 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 -operationen