Einheit 2.5: Datenbank- und Daten Dienste
Einführung
Stellen Sie sich eine geschäftige Restaurantküche vor, in der sich der Koch voll und ganz darauf konzentriert, hervorragende Gerichte zu kreieren, während ein spezialisiertes Team sich um die Wartung der Geräte, die Bestandskontrolle der Zutaten und die Reinigung kümmert. Der Koch muss sich keine Gedanken über die Reparatur der Öfen oder die Bestellung von Vorräten machen, da diese Aufgaben in der Zuständigkeit von Fachkräften liegen. Verwaltete Datenbankdienste funktionieren auf dieselbe Weise. Sie ermöglichen es Ihrem Team, sich auf den Aufbau hochwertiger Anwendungen zu konzentrieren, während IONOS CLOUD die Infrastruktur, das Patchen, die Sicherungen und die Wartung übernimmt.
In dieser Einheit werden Sie die Database-as-a-Service (DBaaS) Angebote von IONOS CLOUD erkunden. Sie erfahren mehr über relationale Datenbanken wie Managed PostgreSQL und MariaDB für strukturierte Daten, Dokumenten-Datenbanken wie Managed MongoDB für flexible Schemata, In-Memory DB für ultraschnelles Caching sowie Event Streams for Apache Kafka für die ereignisgesteuerte Verarbeitung in Echtzeit. Das Verständnis dieser Dienste hilft Ihnen, die richtige Datenbank für Ihre Anwendungserfordernisse auszuwählen.
1. Überblick über verwaltete Datenbanken
Database-as-a-Service (DBaaS) bietet voll verwaltete Datenbankengines, die auf dedizierter Infrastruktur in Ihrem virtuellen Rechenzentrum laufen. IONOS CLOUD übernimmt Provisionierung, Patching, Sicherungen und Hochverfügbarkeit, während Sie die volle Kontrolle über Ihre Daten und die Datenbankkonfiguration behalten.
1.1 Was eine Datenbank als „verwaltet" kennzeichnet
Ein verwalteter Datenbankdienst übernimmt die Verantwortung für den gesamten Datenbank-Stack, von der Hardware und dem Betriebssystem bis hin zur Datenbankengine und der laufenden Wartung. Sie provisionieren ein Cluster über den Data Center Designer oder die API, und innerhalb weniger Minuten haben Sie eine produktionsreife Datenbank, ohne Software zu installieren oder Server zu konfigurieren.
Verwaltete Datenbanken unterscheiden sich in mehreren wesentlichen Punkten von selbst verwalteten Installationen. Der Cloud-Anbieter stellt die Hardware bereit, wendet Firmware- und Betriebssystem-Patches an und verwaltet Updates der Datenbanksoftware. Sie müssen keine physischen Server kaufen, Geräte einracken oder Infrastruktur warten. Datenbanken werden vorkonfiguriert mit Sicherheitsbestpraktiken, automatisierten Backups und integrierten Hochverfügbarkeitsfunktionen ausgeliefert. Ihr Team konzentriert sich auf Schema-Design, Query-Optimierung und Anwendungsentwicklung statt auf Routineoperationen.
1.2 Vorteile von verwalteten Datenbankdiensten
Die folgende Tabelle vergleicht verwaltete Datenbanken mit selbst verwalteten Installationen in entscheidenden operativen Bereichen:
| Bereich | Vorteile verwalteter DB | Anforderungen bei Selbstverwaltung |
|---|---|---|
| Hardware & Firmware | Der Provider provisioniert, installiert und wartet Server, Treiber und Firmware automatisch | Physische Maschinen manuell kaufen, einracken, versorgen, netzwerkseitig verbinden und patchen |
| Initiale Einrichtung | Datenbanken sind vorkonfiguriert und auf Abruf einsatzbereit | Datenbanksoftware installieren, Parameter anpassen, Replikation und Sicherheit konfigurieren |
| Betrieb & Personal | Das Personal konzentriert sich auf Anwendungsentwicklung statt auf Routineoperationen | Erfordert DBAs oder Ingenieure für Installationen, Patches, Monitoring und Fehlerbehebung |
| Patching & Upgrades | Regelmäßige Patches werden automatisch während Wartungsfenster angewendet | Sicherheitsreleases verfolgen, Ausfallzeiten planen, Upgrades testen, manuell anwenden |
| Hochverfügbarkeit | Integrierte HA-Cluster mit automatischem Failover und Replikation | Eigene Replikationstopologie entwerfen und umsetzen sowie Failover-Verfahren testen |
| Sicherung & Wiederherstellung | Tägliche automatisierte Backups mit point-in-time-Wiederherstellung | Backup-Agenten deployen, Snapshots planen, Aufbewahrungsfristen verwalten, Wiederherstellungen testen |
| Skalierbarkeit | Vertikale und horizontale Skalierung über API oder Konsole | Größere Server beschaffen, Knoten hinzufügen, Load Balancer neu konfigurieren, Daten migrieren |
| Sicherheit | TLS-Verschlüsselung, rollenbasierte Zugriffskontrolle, Private-Netzwerk-Verbindung | Betriebssystem härten, Zertifikate verwalten, Firewalls und Netzwerksegmentierung konfigurieren |
| Monitoring | Integrierte Metriken, Logs und Alerts über die Monitoring- und Logging Services (Grafana) der Plattform und die API | Monitoring-Agenten installieren, Dashboards erstellen, Alerting-Pipelines pflegen |
| Kostmodell | Pay-as-you-go mit Abrechnung pro Minute für genutzte Ressourcen | Investitionskosten für Hardware, überdimensionierte Kapazität, langfristige Verträge |
Verwaltete Datenbanken liefern Geschwindigkeit und Einfachheit, indem sie produktionsreife Umgebungen in Minuten bereitstellen. Sie bieten Zuverlässigkeit durch automatisierte Hochverfügbarkeitskonfigurationen und vom Anbieter unterstützte Patches. Sie steigern die operative Effizienz, indem sie Ihr Team von Routineverwaltungsaufgaben befreien. Sie bieten finanzielle Flexibilität durch nutzungsbasierte Preisgestaltung, die sich an Ihrem tatsächlichen Verbrauch orientiert.
1.3 Übliche Funktionen verwalteter Datenbanken
Alle verwalteten Datenbankdienste von IONOS CLOUD teilen sich Kernfunktionen, die unternehmensgerechte Zuverlässigkeit und Sicherheit gewährleisten. Jeder Dienst läuft auf dedizierten virtuellen Maschinen mit garantierten Ressourcen für CPU, RAM und Speicher. Cluster werden in privaten LANs in Ihrem virtuellen Rechenzentrum deployed, was Netzwerkisolierung und Sicherheit sicherstellt.
Hochverfügbarkeit ist Standard über Multi-Node-Cluster mit automatischem Failover. Wenn ein Knoten ausfällt, befördert das Cluster automatisch eine Replik, um die Servicekontinuität aufrechtzuerhalten. Replikation kann für beste Leistung asynchron oder für null Datenverlust strikt synchron konfiguriert werden (Verfügbarkeit variiert je nach Engine).
Sicherheit ist in jede Schicht integriert. Alle Client-Verbindungen verwenden TLS-Verschlüsselung, um Daten im Transit zu schützen. Rollenbasierte Zugriffskontrolle ermöglicht die Definition granularer Berechtigungen für Benutzer und Anwendungen. Datenbanken sind ausschließlich über private Netzwerke erreichbar und werden niemals direkt dem Internet ausgesetzt. Sicherungen werden verschlüsselt und sicher in IONOS Cloud Object Storage gespeichert.
Automatisierte Backups werden täglich für alle Engines ausgeführt, wobei point-in-time-Wiederherstellung in der Regel für bis zu eine Woche verfügbar ist; für Managed MongoDB ist PITR nur in der Enterprise-Edition verfügbar (Business unterstützt Snapshot-Wiederherstellung, und Playground-Backups sind deaktiviert). Sie können gesamte Cluster oder bestimmte Datenbanken auf einen beliebigen Zeitpunkt innerhalb der Aufbewahrungsfrist wiederherstellen. Wartungsfenster ermöglichen es Ihnen, Patches und Upgrades zu bequemen Zeitpunkten mit minimaler Störung einzuplanen.
Monitoring und Reporting sind in den Data Center Designer integriert und über APIs verfügbar. Sie können CPU-Auslastung, Arbeitsspeicher-Verbrauch, Speicherkapazität, Verbindungszahlen und Query-Performance verfolgen. Metriken und Logs 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 über Fremdschlüssel und unterstützen komplexe Abfragen mit SQL. IONOS CLOUD bietet zwei relationale Datenbankengines: PostgreSQL und MariaDB.
2.1 Managed PostgreSQL
Managed PostgreSQL bietet eine vollständig kompatible, unternehmensfähige PostgreSQL-Datenbank als verwalteten Dienst. PostgreSQL ist bekannt für seine erweiterten Funktionen, Erweiterbarkeit und Unterstützung sowohl für traditionelle relationale Daten als auch für moderne JSON-Dokumente. Es läuft auf dedizierten Clustern mit konfigurierbarer CPU, RAM und Speicher innerhalb Ihres virtuellen Rechenzentrums.
PostgreSQL unterstützt ACID-Transaktionen und gewährleistet so Datenkonsistenz und Zuverlässigkeit für kritische Anwendungen. Es bietet erweiterte Indexierungsoptionen, Volltextsuche und leistungsfähige Abfrageoptimierung. Sie können PostgreSQL-Erweiterungen verwenden, um Funktionen wie die Unterstützung für Geodaten (PostGIS), erweiterte Statistiken und kryptografische Funktionen hinzuzufügen. Die Datenbank verarbeitet sowohl strukturierte Daten in Tabellen als auch halbstrukturierte Daten, die als JSON oder JSONB gespeichert werden.
Wichtige Funktionen umfassen vertikales Skalieren (Hinzufügen von CPU, RAM und Speicher auf dem Laufenden) und horizontales Skalieren (Hinzufügen von Replikationsinstanzen für Leseverkehr). Hochverfügbarkeit wird durch Mehrknoten-Cluster mit konfigurierbaren Replikationsmodi erreicht. Wählen Sie asynchrone Replikation (Standard) für die beste Leistung oder strikt-synchrone Replikation für Commit-Garantien ohne Datenverlust. Strikt-synchrone Replikation erfordert zwei aktive Knoten; für den Produktivbetrieb werden mindestens drei Instanzen empfohlen.
Monitoring stellt Cluster-Metriken über den Data Center Designer, die Telemetry API und den Monitoring Service bereit, wobei die Aufbewahrungsdauer vom Kunden konfiguriert werden kann (längere Aufbewahrung erhöht die Speicherkosten; ein fester Standardzeitraum wird nicht veröffentlicht). Automatisierte Backups kombinieren kontinuierliches Write-Ahead-Log (WAL)-Archivieren mit täglichen Basisbackups und ermöglichen eine Wiederherstellung zu einem bestimmten Zeitpunkt (Point-in-Time-Recovery) für bis zu eine Woche. 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 als community-getriebene Fork von MySQL entstand. Sie treibt hochfrequentierte Dienste wie Wikipedia und WordPress.com an. MariaDB bietet vertraute MySQL-Syntax und -Verhalten, ergänzt um Verbesserungen für Leistung, Speicherengines und Analytics.
MariaDB ist vollständig ACID-konform und unterstützt Trigger, gespeicherte Prozeduren und Views. Es umfasst mehrere Speicherengines, die für unterschiedliche Workloads optimiert sind, von transaktionellem InnoDB bis hin zu Spaltenspeicher-Engines für Analytics. Die native Unterstützung für JSON- und GIS-Funktionen macht es für Anwendungen geeignet, die strukturierte und halbstrukturierte Daten kombinieren.
Der Dienst bietet vertikales Skalieren bis zu 16 Kernen und 32 GB RAM pro Knoten, mit Mehrknoten-Hochverfügbarkeitsclustern für automatisches Failover. Jeder Benutzer hat 250 Verbindungen und max_connections ist auf 500 festgelegt. Der Speicher ist SSD-basiert, das obere Limit für die Speichergröße beträgt 2 TB.
Eine einzigartige Selbstwiederherstellungsfunktion ermöglicht es Ihnen, bestimmte Backups wiederherzustellen oder innerhalb der einwöchigen Aufbewahrungszeit direkt über den Data Center Designer oder die API auf einen beliebigen Zeitpunkt zurückzurollen. Diese Funktion reduziert Ausfallzeiten und das Risiko von Datenverlust, ohne dass Support-Tickets erforderlich sind.
2.3 Auswahl zwischen PostgreSQL und MariaDB
Sowohl PostgreSQL als auch MariaDB sind hervorragende relationale Datenbanken, aber sie glänzen in unterschiedlichen Szenarien. Das Verständnis, wann man welches einsetzt, hilft Ihnen, die richtige Wahl für Ihre Anwendung zu treffen.
Wählen Sie PostgreSQL, wenn Sie fortschrittliche Funktionen wie erweiterte Indexierung, umfangreiche Erweiterungen oder strikte transaktionelle Konsistenz benötigen. PostgreSQL ist bei komplexen analytischen Abfragen, Anwendungen, die relationale und JSON-Daten mischen, und Workloads, die synchrone Replikation ohne Datenverlust erfordern, überlegen. Es ist ideal für Finanzsysteme, ERP-Anwendungen und Data Warehousing, bei denen ACID-Garantien und Abfrageflexibilität entscheidend 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 entwickeln. MariaDB bietet hervorragende Leistung für leseintensive Workloads mit hoher Parallelität und bietet starke GIS- und JSON-Fähigkeiten. Es eignet sich gut für Content-Management-Systeme, SaaS-Plattformen und Szenarien, in denen MySQL-Kompatibilität die Migration vereinfacht.
3. Dokumenten-Datenbanken und NoSQL-Dienste
Dokumenten-Datenbanken speichern Daten als flexible, JSON-ähnliche Dokumente anstelle von Tabellen mit festem Schema. Diese Flexibilität macht sie ideal für Anwendungen mit schnell sich entwickelnden Datenmodellen oder stark variablen Datenstrukturen.
3.1 Managed MongoDB
Managed MongoDB ist der vollverwaltete Dienst von IONOS CLOUD für die MongoDB-Dokumenten-Datenbank. MongoDB speichert Daten als BSON-Dokumente (binäres JSON) in Sammlungen, wobei jedes Dokument eine unterschiedliche Struktur haben kann. Diese Schema-Flexibilität beschleunigt die Entwicklung, da starre Schema-Migrationen entfallen.
MongoDB wird in drei Editionen angeboten, um unterschiedliche Anforderungen zu erfüllen. Die Playground-Edition bietet einen kostenlosen Einzelknoten-Cluster mit 2 GB RAM, 1 vCPU und 50 GB Speicher auf geteilter Infrastruktur für Entwicklung und Testzwecke. Die Business-Edition bietet vordefinierte Vorlagen für Produktions-Workloads mit Multi-Instanz-Clustern auf Basis von Cube VMs und NVMe-Speicher. Die Enterprise-Edition bietet volle Kontrolle über die Knotengröße mit Dedicated Core VMs, SSD- und HDD-Block-Speicher, Sharding-Konfigurationen und umfasst zusätzlich den Zugriff auf das professionelle Support-Team von MongoDB neben dem IONOS CLOUD Support.
Die wichtigsten Funktionen umfassen horizontales Skalieren durch integriertes Sharding und Replikat-Sets. Sharding verteilt Daten über mehrere Knoten, um große Datensätze und hohe Schreibdurchsätze zu verarbeiten. Replikat-Sets bieten Hochverfügbarkeit mit automatischem Failover. MongoDB unterstützt bis zu etwa 114.000 Verbindungen pro Cluster, was die Verbindungsgrenzen von relationalen Datenbanken weit übersteigt.
NVMe-Speicher ist in der Business-Edition verfügbar, die auf Cube VMs gehostet wird. SSD- oder HDD-Block-Speicher ist in der Enterprise-Edition verfügbar, die auf Dedicated Core VMs gehostet wird. Multi-Instanz-Cluster replizieren Daten automatisch über die Knoten hinweg, wobei der primäre Knoten Schreibvorgänge verarbeitet und die sekundären Knoten Lesevorgänge abwickeln. Der Dienst umfasst eine kontinuierliche Protokollsammlung mit einer Aufbewahrungsfrist von 30 Tagen und integrierte Metriken für CPU, Arbeitsspeicher, Speicher, Verbindungen und Cluster-Status.
MongoDB ist von MongoDB Inc. zertifiziert und vollständig kompatibel mit standardmäßigen MongoDB-Tools, Treibern und der mongo-Shell. Sie verwalten Cluster über den Data Center Designer, die dedizierte MongoDB REST API oder SDKs. Tägliche Snapshots außerhalb des Rechenzentrums werden für bis zu sieben Tage in Object Storage gespeichert, und Enterprise-Cluster ergänzen die Wiederherstellung zu einem bestimmten Zeitpunkt.
3.2 Wann MongoDB verwenden
MongoDB eignet sich hervorragend für Szenarien, in denen Schema-Flexibilität von Vorteil ist. Schnell laufende Entwicklungsprojekte profitieren von der Möglichkeit, die Dokumentenstruktur ohne Datenbankmigrationen zu ändern. Content-Management-Systeme, Backends für mobile Anwendungen und IoT-Plattformen haben oft variable Datenstrukturen, die natürlich in Dokumentenmodelle passen.
Workloads mit hohem Schreibvolumen nutzen das horizontale Skalieren von MongoDB durch Sharding. Anwendungen, die große Datenmengen erzeugen, wie Clickstream-Analysen oder das Tracking von Nutzerevents, können Schreibvorgänge über mehrere Shards verteilen, um bessere Leistung zu erzielen. Das Dokumentenmodell 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 Tenant möglicherweise benutzerdefinierte Felder hat. Erwägen Sie es für Echtzeit-Analysen, bei denen Schema-Flexibilität und hohe Verbindungszahlen Vorteile bieten.
4. Spezialisierte Datenbankdienste
Neben traditionellen relationalen und Dokumenten-Datenbanken bietet IONOS CLOUD spezialisierte Dienste für Caching und Event-Streaming an. Diese Dienste lösen spezifische Leistungs- und Architekturherausforderungen.
4.1 In-Memory DB
In-Memory DB ist der voll verwaltete, Redis-kompatible Datenbankdienst von IONOS CLOUD, der alle Daten im RAM für Zugriffszeiten im Sub-Millisekundenbereich speichert. Im Gegensatz zu datenträgerbasierten Datenbanken, die Daten vom Speicher lesen, liefert In-Memory DB Daten direkt aus dem Arbeitsspeicher und bietet damit eine um ein Vielfaches höhere Leistung.
Der Dienst basiert auf Redis, einem Open-Source-Server für In-Memory-Datenstrukturen. Er unterstützt verschiedene Datentypen, darunter Strings, Hashes, Listen, Mengen, sortierte Mengen, Bitmaps, Hyperloglogs, Geospatial-Indizes und Streams. Diese Flexibilität macht ihn auch über einfaches Key-Value-Caching hinaus nützlich.
Die Optionen für Persistenz ermöglichen es, Geschwindigkeit mit Haltbarkeit in Einklang zu bringen. Wählen Sie keine Persistenz für reines Caching, bei dem Daten neu aufgebaut werden können, RDB-Snapshots für periodische Checkpoints, AOF (Append-Only File)-Protokollierung für kontinuierliche Schreibhaltbarkeit, oder kombinieren Sie beide für maximalen Schutz. Die Persistenz schreibt Daten auf SSD, sodass 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 dem RAM und dem gewählten Persistenzmodus. Hochverfügbarkeit wird durch Multi-Knoten-Cluster mit asynchroner Replikation als Standard erreicht, mit einem optionalen semi-synchronen Modus für stärkere Konsistenz.
Die Sicherheit umfasst TLS-verschlüsselte Client-Verbindungen, rollenbasierte Zugriffskontrolle und Deployment ausschließlich in privaten Netzwerken. Jede Instanz läuft auf dedizierten Enterprise-VMs und ist nur über private LANs innerhalb Ihres VDC erreichbar. Die Ressourcenlimits umfassen eine Standard-Quota pro Vertrag von 16 CPU-Kernen, 32 GB RAM, 1500 GB Speicherplatz und 10 Datenbank-Clustern, mit bis zu 5 Instanzen pro Cluster und bis zu 2 TB Speicher pro Instanz.
4.2 Anwendungsfälle für In-Memory DB
In-Memory DB eignet sich hervorragend als Caching-Ebene für Datenbanken. Platzieren Sie es vor Ihrer primären Datenbank, um häufig abgerufene Daten im RAM zu speichern. Dies reduziert die Anzahl der Abfragen, die Ihre Datenbank erreichen, senkt die Latenz und verbessert die allgemeine Reaktionsfähigkeit der Anwendung. Caching ist besonders wertvoll für leseintensive Workloads, bei denselben Daten von vielen Benutzern wiederholt abgerufen werden.
Anwendungen für Echtzeit-Analysen nutzen In-Memory DB, um Streaming-Daten mit Sub-Millisekunden-Latenz zu verarbeiten. Online-Werbepattformen, Empfehlungssysteme und Echtzeit-Dashboards benötigen sofortigen Datenzugriff, den datenträgerbasierter Speicher nicht bieten kann. In-Memory DB kann große Mengen von Ereignissen im Speicher aggregieren, Berechnungen durchführen und Ergebnisse sofort an Anwendungen liefern.
Sitzungsspeicherung ist ein weiterer häufiger Anwendungsfall. Webanwendungen speichern Benutzersitzungsdaten in In-Memory DB für schnellen Zugriff über mehrere Anwendungsserver hinweg. Die In-Memory-Speicherung stellt sicher, dass Sitzungsabfragen die Benutzerinteraktionen nicht verlangsamen. Nachrichtenvermittlung und Ranglisten für Gaming-Anwendungen profitieren ebenfalls von der Geschwindigkeit und der Unterstützung von Datenstrukturen, die In-Memory DB bietet.
4.3 Event Streams for Apache Kafka
Event Streams for Apache Kafka ist der voll verwaltete Dienst von IONOS CLOUD für Echtzeit-Event-Streaming und -Verarbeitung. Apache Kafka ist eine verteilte Streaming-Plattform, die als Hochdurchsatz-Nachrichtenbroker und Ereignisprotokoll fungiert. Anwendungen veröffentlichen Event-Streams in Kafka-Themen, und andere Anwendungen abonnieren diese Themen, um Ereignisse in Echtzeit zu verarbeiten.
Kafka organisiert Daten in Themen, die über mehrere Broker partitioniert und repliziert werden, um Skalierbarkeit und Haltbarkeit 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, was flexible Architekturen ermöglicht.
IONOS CLOUD Event Streams bietet fünf vordefinierte Clustergrößen von XS bis XL, jeweils mit dedizierter CPU, RAM und SSD-Speicherung. Sie können Cluster hoch- oder herunterskalieren, wenn sich Ihre Durchsatz- und Speicheranforderungen ändern. Hochverfügbarkeit ist durch redundante Knoten und automatisches Failover integriert. Sie konfigurieren den Replikationsfaktor, um zu steuern, wie viele Kopien jeder Partition über die Broker hinweg existieren.
Die Sicherheit umfasst TLS-verschlüsselte Kommunikation, starke Authentifizierung über TLS-Zertifikate und granulare Autorisierungskontrollen. Cluster werden an private LANs angeschlossen, um isolierten Netzwerkverkehr zwischen Ihren Anwendungen und Kafka zu gewährleisten. Sie können Partitionen, Aufbewahrungszeit und Aufbewahrungsgröße anpassen, um sie an Durchsatz- und Speicheranforderungen anzupassen.
Die Verwaltung ist über den grafischen Data Center Designer, APIs und SDKs verfügbar. Sie können Cluster, Themen, Broker und Berechtigungen erstellen und konfigurieren, ohne tiefgreifende Kafka-Expertise zu besitzen. Der Dienst übernimmt die zugrunde liegende Infrastruktur, Patches und Überwachung, sodass sich Ihr Team auf den Aufbau von Streaming-Anwendungen konzentrieren kann.
4.4 Anwendungsfälle für Event Streams
Event Streams eignet sich hervorragend für Echtzeit-Datenverarbeitung im großen Maßstab. E-Commerce-Plattformen verarbeiten Millionen von Transaktionen, Inventuraktualisierungen und Benutzerinteraktionen pro Tag. Kafka bewältigt dieses Volumen durch Partitionierung und parallele Verarbeitung. Stream-Verarbeitungsframeworks wie Kafka Streams, Apache Flink oder Spark lesen aus Kafka-Themen, führen komplexe Ereignisverarbeitung durch und schreiben Ergebnisse in nachgelagerte Systeme wie Datenbanken oder Dashboards. Dies ermöglicht Echtzeit-Personalisierung, Betrugserkennung und operative Analysen.
Das IoT-Datenmanagement nutzt Kafka, um kontinuierliche Streams von Tausenden von Sensoren zu erfassen. Smart-City-Initiativen deployen Kafka-Cluster in der Nähe von Edge-Standorten, um die Latenz zu minimieren. Sensoren schieben Telemetrie in Themen, und Stream-Verarbeitungsjobs erkennen Muster, lösen Warnungen aus und speisen AI/ML-Pipelines. Log-Kompaktierung behält den neuesten Zustand pro Gerät bei, während Aufbewahrungsrichtlinien historische Daten verwalten. Diese Architektur ermöglicht Echtzeit-Monitoring, Anomalieerkennung und vorausschauende Wartung.
Klickstrom-Analysen 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äftskennzahlen zu verfolgen. Finanzdienstleister nutzen Kafka für Transaktionsverarbeitung, regulatorische Berichterstattung und Marktdatenfeeds, bei denen niedrige Latenz und garantierte Reihenfolge entscheidend sind.
5. Auswahl des richtigen Datenbankdienstes
Die Auswahl des geeigneten Datenbankdienstes hängt von Ihrem Datenmodell, Ihren Konsistenzanforderungen, Ihren Skalierbarkeitsbedürfnissen und Ihren Leistungserwartungen ab. Das Verständnis der Stärken jeder Option hilft Ihnen dabei, Dienste an die Anforderungen der Anwendung zu passen.
5.1 Entscheidungsrahmen
Die folgende Tabelle vergleicht die IONOS CLOUD Datenbankdienste anhand wichtiger Merkmale:
| Merkmal / Kriterium | Managed PostgreSQL | Managed MongoDB | Managed MariaDB | In-Memory DB | Event Streams for Kafka |
|---|---|---|---|---|---|
| Datenmodell | Relational (SQL) mit JSON und GIS | Dokument (BSON/JSON) | Relational (MySQL-kompatibel) | Schlüssel-Wert mit Datenstrukturen | Ereignisprotokoll / Nachrichtenstrom |
| Am besten geeignet für | Komplexe Transaktionen, ACID-Compliance, Joins | Flexible Schemata, schnelle Entwicklung | Web-Apps, MySQL-Migration | Caching, Echtzeit-Analysen | Echtzeit-Ereignisverarbeitung, IoT |
| Skalierbarkeit | Vertikal + horizontal (Replikate) | Vertikal + horizontal (Sharding + Replikate) | Vertikal + horizontal (Replikate) | Vertikal + horizontal | Horizontal (Partitionen) |
| Konsistenz | Stark (strikte Synchronisation verfügbar) | Standardmäßig stark (Majority Write Concern mit j:true; anpassbar) | Stark | Eventuell (konfigurierbar) | Pro Thema konfigurierbar |
| Latenz | Niedrig (Millisekunden) | Niedrig (Millisekunden) | Niedrig (Millisekunden) | Sehr niedrig (unter Millisekunde) | 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-Apps, E-Commerce, SaaS | Sitzungsspeicher, Echtzeit-Dashboards | Streaming-Analysen, Log-Aggregation |
Verwenden Sie relationale Datenbanken (PostgreSQL oder MariaDB), wenn Sie starke transaktionale Konsistenz, komplexe Joins über mehrere Tabellen und klar definierte Schemata benötigen. Wählen Sie Dokumenten-Datenbanken (MongoDB), wenn sich Ihr Datenmodell häufig ändert oder von Datensatz zu Datensatz variiert. Wählen Sie In-Memory DB, wenn Sie Caching oder Zugriff mit sehr niedriger 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 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. Schreibvorgänge der Anwendung gehen an die Datenbank und werden gleichzeitig als Ereignisse an Kafka veröffentlicht. Stream-Prozessoren konsumieren Ereignisse, um Suchindizes zu aktualisieren, Workflows auszulösen oder Analyse-Systeme zu versorgen. Diese Architektur ermöglicht ereignisgesteuerte Microservices und Echtzeit-Datenpipelines, ohne Systeme direkt zu koppeln.
E-Commerce-Plattformen könnten PostgreSQL für Bestellungen und Inventar, MongoDB für Produktkataloge mit variablen Attributen, In-Memory DB für Warenkorb-Sitzungen und Event Streams zur Echtzeitverarbeitung von Nutzeraktivitäten und Inventaraktualisierungen verwenden. Jeder Dienst übernimmt die Arbeitslast, für die er am besten geeignet ist, und schafft so eine flexible und leistungsfähige Architektur.
Häufige Anwendungsfälle
Praxisnahe Szenarien zeigen, wie die Datenbankdienste von IONOS CLOUD geschäftliche Herausforderungen lösen:
- E-Commerce-Plattform mit Multi-Datenbank-Architektur: Ein Online-Händler nutzt Managed PostgreSQL für die Auftragsverarbeitung und finanzielle Transaktionen, bei denen ACID-Garantien von entscheidender Bedeutung sind (Abschnitt 2.1). Produktkataloge mit variierenden Attributen wie Kleidungsgroßen und Elektronikspezifikationen werden in Managed MongoDB für Schemaflexibilität gespeichert (Abschnitt 3.1). Kunden-Warenkörbe und Sitzungsdaten befinden sich in In-Memory DB für sofortigen Zugriff und minimale Latenz (Abschnitt 4.1). Nutzer-Klickströme fließen durch Event Streams for Apache Kafka, um Echtzeit-Empfehlungen und Bestandsaktualisierungen zu ermöglichen (Abschnitt 4.3). Diese Kombination passt jeden Datentyp dem optimalen Datenbankdienst zu.
- SaaS-Anwendung mit Caching und Hochverfügbarkeit: Eine Multi-Tenant-SaaS-Plattform betreibt Managed MariaDB für Kundendaten mit Multi-Node-Hochverfügbarkeitsclustern, die Ausfallzeiten bei Failover und Wartung minimieren (Abschnitt 2.2). In-Memory DB cacht häufig abgerufene Tenant-Konfigurationen, was die Anzahl der Datenbankabfragen deutlich reduziert und die Antwortzeiten verbessert (Abschnitt 4.2). Automatisierte Backups mit Point-in-Time-Recovery schützen vor Datenverlust, und Self-Restore-Funktionen ermöglichen dem Team eine schnelle Wiederherstellung nach Fehlern, ohne den Support kontaktieren zu müssen. Die Bereitstellung im privaten Netzwerk stellt die Isolation und Sicherheit der Tenant-Daten sicher.
- IoT-Plattform mit Echtzeit-Analysen: Eine Smart-City-Initiative sammelt Daten von Tausenden von Verkehrssensoren und Umweltmonitoren. Event Streams for Apache Kafka nimmt Sensortelemetrie mit Partitionierung für parallele Verarbeitung auf (Abschnitt 4.3). Stream-Verarbeitungsjobs analysieren Verkehrsmuster in Echtzeit und lösen Alarme aus, wenn Anomalien erkannt werden. Historische Sensordaten werden in Managed MongoDB in Zeitreihen-Sammlungen gespeichert, die für schreibintensive Workloads optimiert sind (Abschnitt 3.1). In-Memory DB hält die aktuellen Sensorzustände für sofortige Dashboard-Updates vor (Abschnitt 4.1). Diese Architektur verarbeitet Millionen von Ereignissen pro Stunde und hält dabei eine Latenz von unter einer Sekunde für operative Entscheidungen aufrecht.
Zusammenfassung
Datenbanken und Daten-Dienste sind grundlegende Bausteine für Cloud-Anwendungen. IONOS CLOUD bietet vollständig verwaltete Datenbankangebote, die die Bereitstellung der Infrastruktur, das Patchen, Sicherungen und die Hochverfügbarkeit übernehmen, während Sie sich auf die Anwendungsentwicklung und das Schemadesign konzentrieren. Verwaltete Dienste liefern eine schnellere Markteinführung, geringeren operativen Aufwand und verbrauchsabhängige Preise im Vergleich zu selbst verwalteten Bereitstellungen.
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. Dokumenten-Datenbanken wie Managed MongoDB bieten Schemaflexibilität und horizontale Skalierung für moderne Anwendungen mit sich wandelnden Anforderungen. Spezialisierte Dienste, darunter In-Memory DB für Caching und Event Streams for Apache Kafka, ermöglichen Echtzeitverarbeitung und Zugriffsmuster mit extrem niedriger Latenz.
Die Wahl des richtigen Datenbankdienstes erfordert ein Verständnis Ihres Datenmodells, Ihrer Konsistenzanforderungen, Ihrer Skalierbarkeitsanforderungen und Ihrer Leistungserwartungen. Viele Anwendungen kombinieren mehrere Dienste, um die Stärken jedes einzelnen auszunutzen. Das Verständnis dieser Optionen hilft Ihnen, Architekturen zu entwerfen, die leistungsfähig, zuverlässig und kosteneffizient sind.
Wichtige Punkte:
- Verwaltete Datenbankdienste übernehmen Infrastruktur, Patching, Sicherungen und Hochverfügbarkeit automatisch und befreien Ihr Team, sich auf Anwendungen statt auf Betrieb zu konzentrieren
- Managed PostgreSQL und MariaDB bieten relationale SQL-Datenbanken mit ACID-Compliance, geeignet für transaktionale Workloads, Finanzsysteme und Data Warehousing
- Managed MongoDB bietet eine Dokumenten-Datenbank mit flexiblen Schemata und horizontaler Skalierung für Content Management, mobile Backends und sich schnell entwickelnde Anwendungen
- In-Memory DB liefert Sub-Millisekunden-Latenz durch RAM-basierte Speicherung, ideal für Caching, Session-Speicherung und Echtzeit-Analysen
- Event Streams for Apache Kafka ermöglicht Hochdurchsatz-Event-Streaming für Echtzeit-Datenverarbeitung, IoT-Telemetrie und ereignisgesteuerte Architekturen
- Die Wahl des richtigen Datenbankdienstes hängt vom Datenmodell (relationale vs. Dokumenten- vs. Schlüssel-Wert- vs. Streaming), den Konsistenzanforderungen und den Skalierungsbedürfnissen ab
Wichtige Begriffe:
- Database-as-a-Service (DBaaS): Vollständig verwalteter Datenbankdienst, bei dem der Anbieter Infrastruktur, Wartung und Betrieb übernimmt
- ACID: Atomicity, Consistency, Isolation, Durability, Eigenschaften, die zuverlässige Datenbanktransaktionen garantieren
- Replikation: Kopieren von Daten über mehrere Datenbankknoten hinweg, um Hochverfügbarkeit und Fehlertoleranz bereitzustellen
- Point-in-Time Recovery (PITR): Möglichkeit, eine Datenbank auf einen beliebigen spezifischen Zeitpunkt innerhalb der Sicherungsfrist wiederherzustellen
- Sharding: Verteilen von Daten über mehrere Datenbankknoten hinweg, um horizontal zu skalieren und größere Datensätze zu verarbeiten
- Dokumenten-Datenbank: NoSQL-Datenbank, die Daten als flexible, JSON-ähnliche Dokumente statt als Tabellen mit festem Schema speichert
- In-Memory-Datenbank: Datenbank, die Daten im RAM für extrem schnellen Zugriff mit Sub-Millisekunden-Latenz speichert
- Event-Streaming: Kontinuierlicher Fluss von Ereignisdaten durch ein verteiltes Logs-System für Echtzeitverarbeitung
Nächste Schritte
Weiter lernen: Einheit 2.6: Security Services
Verwandte Themen:
- Einheit 2.3: Storage Services - Optionen für die persistente Datenspeicherung, die Datenbankdienste ergänzen
- Einheit 3.4: Activity Logs and Monitoring - Überwachung der Datenbankleistung und -operationen