MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Modo corretto per gestire le modifiche allo schema in MongoDB con il driver java

Penso che tu abbia onestamente già accennato alla risposta più semplice.

Innanzitutto, aggiorna il tuo livello di accesso ai dati per gestire sia il nuovo che il vecchio schema:gli inserimenti e gli aggiornamenti dovrebbero aggiornare sia il nuovo che il vecchio per mantenere le cose sincronizzate. Le query dovrebbero esaminare solo il vecchio schema poiché a questo punto è l'origine del record.

Quindi copia tutti i dati dal vecchio al nuovo schema.

Quindi aggiorna l'accesso ai dati per interrogare ora i nuovi dati. Ciò manterrà aggiornati i vecchi dati, ma consentirà il test completo dei nuovi dati prima di apportare modifiche che comporteranno la mancata sincronizzazione dei due set di dati. Aiuterà anche a facilitare gli aggiornamenti continui (ad es. le applicazioni con codice di accesso ai dati nuovo e vecchio continueranno a funzionare contemporaneamente.

Infine, aggiorna il livello di accesso ai dati per accedere solo al nuovo schema e quindi elimina i vecchi dati.

Fatta eccezione per questa fase finale, puoi sempre tornare alla versione precedente in caso di problemi.