Allgemeine Wartungsaufgaben
Die meisten Wartungsaufgaben können ausgeführt werden, ohne die Website oder App offline zu schalten, wenn Sie über eine Datenbankreplikation verfügen . Sie entfernen eine Datenbank aus dem Replikatsatz, wenden das an, was Sie benötigen, und verbinden sie erneut mit Ihrem Replikatsatz. Während es ausgeschaltet ist, halten andere DBs die Lösung am Laufen.
Datenbankschema ändern
Wenn Sie Ihr aktualisieren müssen Datenbankschema , werden Sie zu bringen Sie Ihre Lösung für einige Minuten gezwungen werden (oder zu einem Nur - Lese - Zustand) IF der Wechsel bricht die alte Version. Wenn Ihr neues Schema nur Tabellen oder Felder erstellt, hat dies keine Auswirkungen auf eine alte Version 1. Daher kann diese Art der Schemaänderung online 2 und mithilfe einer blau-grünen Bereitstellung für Ihre Anwendung durchgeführt werden, um eine hohe Verfügbarkeit zu erzielen.
Wenn Ihr neues Schema ein vorhandenes Feld umbenennt oder entfernt, um 100% der Verfügbarkeit zu erreichen, müssen Sie die folgenden Schritte ausführen:
Ein Feld umbenennen
- Wenn Sie von A nach B umbenennen müssen, wenden Sie eine Schemaänderung an, die ein neues Feld B hinzufügt und A-Inhalte dupliziert. Halten Sie auch A intakt.
- Stellen Sie eine neue Anwendung bereit, die das Feld B verwendet, und verwenden Sie das Feld A nicht.
- Wenden Sie eine Schemaänderung an, mit der A entfernt wird.
Ein Feld entfernen
- Wenden Sie keine Schemaänderung an.
- Stellen Sie eine neue Anwendung bereit, die das zu entfernende Feld nicht verwendet.
- Wenden Sie eine Schemaänderung an, mit der das Feld entfernt wird.
Hinweis 1 : Einige ORM-Tools, wie z. B. das .NET Entity Framework, ordnen jede Schemaänderung einer Migrations-ID zu. Wenn Sie also eine neue Schemaversion bereitstellen, werden alte Anwendungen sofort beschädigt. Es ist auch vermeidbar, wenn Sie diese Prüfung deaktivieren .
Hinweis 2 : Wenn Ihr neues Schema eine eindeutige Einschränkung, Prüfung oder einen Fremdschlüssel hinzufügt, benötigt der Befehl alter table möglicherweise einige Zeit, wenn Sie Tausende von Zeilen haben. Während die Änderungstabelle verarbeitet wird, wird die Tabelle auch für die Auswahl gesperrt. Dies kann zu Zeitüberschreitungen bei Abfragen führen, je nachdem, wie groß Ihre Daten sind.