MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Richtiger Umgang mit Schemaänderungen in MongoDB mit Java-Treiber

Ich denke, Sie haben die einfachste Antwort ehrlich gesagt bereits angedeutet.

Aktualisieren Sie zunächst Ihre Datenzugriffsschicht, um sowohl das neue als auch das alte Schema zu verarbeiten:Einfügungen und Aktualisierungen sollten sowohl das neue als auch das alte Schema aktualisieren, um die Dinge synchron zu halten. Abfragen sollten nur das alte Schema betrachten, da es zu diesem Zeitpunkt die Quelle der Aufzeichnungen ist.

Kopieren Sie dann alle Daten vom alten in das neue Schema.

Aktualisieren Sie dann den Datenzugriff, um jetzt die neuen Daten abzufragen. Dadurch bleiben die alten Daten auf dem neuesten Stand, es wird jedoch ein vollständiges Testen der neuen Daten ermöglicht, bevor Änderungen vorgenommen werden, die dazu führen, dass die beiden Datensätze nicht mehr synchron sind. Es wird auch dazu beitragen, fortlaufende Updates zu erleichtern (d. h. Anwendungen mit neuem und altem Datenzugriffscode funktionieren weiterhin gleichzeitig.

Aktualisieren Sie schließlich die Datenzugriffsebene, um nur auf das neue Schema zuzugreifen, und löschen Sie dann die alten Daten.

Abgesehen von dieser letzten Phase können Sie jederzeit zur vorherigen Version zurückkehren, falls Sie auf Probleme stoßen.