Vertragsdatenbank Muster

Nachdem wir die Migration gestartet haben, haben wir die zugehörigen Teile des Systems aktualisiert, um das neue Schema widerzuspiegeln. Sobald wir genügend Vertrauen in das neue Schema gewonnen haben, haben wir die Statusspalte gelöscht. Zusammenfassend haben wir es erweitert und später an das neue Schema vergeben. Beginnen wir damit, das Muster umzuformulieren und in den erforderlichen Kontext zu stellen. Ein System arbeitet mit einer zentralen Datenbank. Die Datenbank, die eine relationale oder eine Dokumentdatenbank sein kann, enthält Daten in einer strukturierten Form, die auf einem expliziten oder impliziten Schema basiert. Im Laufe der Zeit ändern sich die Systemanforderungen, und durch die Implementierung dieser Änderungen müssen das Datenbankschema und damit die tatsächlichen Daten geändert werden. Einige Schemaänderungen sind abwärtskompatibel (z. B. Hinzufügen neuer Tabellen/Sammlungen oder Spalten/Felder).

Andere Änderungen unterbrechen vorhandenen Code (z. B. das Ändern der Kardinalität zwischen einigen Entitäten von 1:n auf n:m). Dieses Papier konzentriert sich daher auf die Anwendbarkeit des Musters im Kontext der Änderung der Struktur persistenter Daten. Obwohl das Muster wahrscheinlich auf verschiedene Arten von Datenbanken angewendet werden kann, wird in diesem Dokument davon ausgegangen, dass sich die zu ändernden Daten in einer relationalen oder Dokumentdatenbank befinden. Dies bedeutet, dass es ein explizites oder implizites Datenschema gibt, auf das sich die Anwendung, auf die die Daten arbeiten, verlassen kann. Implementieren Sie brechende Änderungen in mehreren Schritten, damit jeder einzelne Schritt das System nicht aufbricht und rückgängig hergestellt werden kann. Erweitern Sie zunächst das System, indem Sie der Datenbank die neue Struktur hinzufügen. Migrieren Sie dann die vorhandenen Daten in die neue Struktur, während das System redundant sowohl in die alte als auch in die neue Struktur schreibt. Nachdem die Migration abgeschlossen ist, beauftragen Sie das System, die alte Datenstruktur und den alten Code zu entfernen.

Nachdem alle Verwendungen auf die neue Version migriert wurden, führen Sie die Vertragsphase aus, um die alte Version zu entfernen und die Benutzeroberfläche so zu ändern, dass sie nur die neue Version unterstützt. medium.com/continuousdelivery/expand-contract-pattern-and-continuous-delivery-of-databases-4cfa00c23d2e Wie Sie das Expand- und Contract-Muster kennen, starten Sie sofort mit der Entwicklung. Sie entscheiden, dass Sie zunächst nur die Datenstruktur transformieren, ohne neue Features einzuführen. Um sicherzustellen, dass ein System ständig läuft, während Daten von einer alten in eine neue Struktur übertragen werden, müssen die Gesamtänderungen in mehreren verschiedenen Schritten bereitgestellt werden. Da diese Schritte entscheidend sind, um das Muster erfolgreich anzuwenden, werden sie eingehend untersucht. Ein Beispiel gibt weitere Informationen. Die Hauptidee des Musters ist es, zuerst eine Schnittstelle zu erweitern, indem eine neue Struktur eingeführt wird, ohne die alte zu brechen.

Uncategorized