Polyglot Persistence
Polyglot Persistence nutzt mehrere Speichertechnologien für unterschiedliche Datenbedürfnisse. Jede zusätzliche Technologie erhöht Betriebs- und Synchronisationsaufwand.
- Maßgebliche QuelleDort gilt der verbindliche Stand.
- Abgeleiteter SpeicherWird aus der Quelle befüllt.
- BetriebskostenJeder Speicher braucht Pflege.
Einordnung
Warum das wichtig ist
Mehrere Speicher lohnen sich nur mit klarer Aufgabe und klarer maßgeblicher Quelle, denn jeder Speicher kostet Betrieb. Welches Modell zu einem Zugriff passt, zeigt SQL & NoSQL; hier geht es um die Kombination und ihren Preis.
Dieser Baustein erklärt den kombinierten Einsatz verschiedener Speicher. Für die Auswahl eines einzelnen Modells siehe SQL & NoSQL.
Auf einen Blick · Jeder Dienst, passender Speicher
Welche Speicher trägt der Shop?
Variante: Der gewachsene Shop hält Bestellungen relational, sucht Produkte in einem Suchindex und speichert Produktbilder in einem Objektspeicher. Der Shop bleibt fachlich modular aufgebaut.
So liest du das Bild
- Maßgebliche Quelle Die relationale Datenbank für Bestellungen und Status.
- Abgeleiteter Speicher Der Suchindex wird aus dem Katalog abgeleitet.
- Betriebskosten Die Punkte je Speicher gegen die Kapazität von 8.
5 von 8 PunkteWas das kleine Team zuverlässig betreiben kann
Noch 3 Punkte frei. Alles Ausgegebene ist belegt.
Werte illustrativ
Nutzen & Grenzen
Hilft, wenn
- Unterschiedliche Zugriffsmuster können je Datenbereich ein passendes Speichermodell erhalten.
- Eine abgeleitete Speichersicht ergänzt die verbindliche Quelle für spezialisierte Zugriffe, die deren Datenmodell unzureichend bedient.
- Ein Team mit Kapazität für zusätzlichen Betrieb und Abgleich kann mehrere Speicher verantwortbar verbinden.
Grenzen
- Jeder zusätzliche Speicher braucht Betrieb: Installation, Überwachung, Sicherung, Updates und Wissen im Team.
- Abgeleitete Daten müssen abgeglichen und im Zweifel aus der Quelle neu aufgebaut werden können.
- Über mehrere Speicher gibt es keine gemeinsame Transaktion; abgestimmte Abläufe brauchen eine Saga.
In der Praxis
- Ordne jedem Speicher einen klaren Zweck, eine verbindliche Quelle und ein verantwortliches Team zu. Halte fest, welche Daten nur abgeleitet oder zwischengespeichert werden.
- Definiere Abgleich, Fehlerbehandlung und Neuaufbau zwischen den Speichern. Vergleiche Kontrollwerte, damit eine Projektion nach Störung wieder verlässlich genutzt werden kann.
- Rechne Betrieb und Konsistenzabstimmung gegen gemessenen Nutzen. SQL & NoSQL vergleicht Speicherarten; Datenhoheit klärt verbindlichen Besitz.
Ausführliche Erklärung lesen
Polyglotte Persistenz kombiniert Speicher mit unterschiedlichen Datenmodellen und Zugriffseigenschaften. Jeder Speicher erhält einen begrenzten Zweck, eine Zuständigkeit und einen eigenen Betriebsweg. Eine klare verbindliche Quelle ordnet, wo Änderungen angenommen werden.
Suchindizes, Caches und andere Projektionen können aus der Quelle abgeleitet werden. Ihre Synchronisierung kann verzögert sein und muss Fehler sowie Wiederaufbau behandeln. Jeder zusätzliche Speicher erweitert Sicherung, Überwachung, Bereitschaft und Konsistenzabstimmung.
Persistenz beschreibt die Auswahl eines tragenden Speichers; Datenhoheit hält fest, welche Quelle Änderungen verbindlich annimmt.
Selbst prüfen
Teste dich in drei Stufen
AblesenIm Bild nachsehen
Wie viele Punkte verbrauchen die drei belegten Speicher, und wie viel Budget bleibt?
Lösung mit Begründung ansehen
5 von 8 Punkten; es bleiben 3 Punkte.
AnwendenAuf eine neue Lage übertragen
Das Team möchte zusätzlich den Analysespeicher einschalten. Was zeigt das Budget?
Lösung mit Begründung ansehen
Mit 3 weiteren Punkten wären es 8 von 8: Das Budget ist ausgeschöpft, und der Bedarf ist nur vermutet.
BewertenEine Alternative abwägen
Soll der Shop Sitzungen in einen eigenen Schlüssel-Wert-Speicher auslagern? Wie wägst du ab?
Lösung mit Begründung ansehen
Er wäre für diesen Zugriff passend, aber die relationale Datenbank trägt Sitzungen heute. Ohne belegten Bedarf kostet er 2 Punkte Betrieb; Empfehlung: zunächst nicht.
Vertiefen
Diese Bausteine führen die Gedanken dieser Seite weiter.
Quellen
- Martin Fowler · Polyglot Persistence (öffnet in neuem Tab)Begründet unterschiedliche Datenspeicher anhand verschiedener Zugriffsbedürfnisse.
- Microsoft · Data Store Models (öffnet in neuem Tab)Vergleicht Datenmodelle und typische Einsatzbedingungen von Speichern.
- microservices.io · Database per Service (öffnet in neuem Tab)Beschreibt Datenverantwortung, API-Zugriff und Folgen für Abfragen.