MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Manière appropriée de gérer les modifications de schéma dans MongoDB avec le pilote Java

Je pense que vous avez honnêtement déjà fait allusion à la réponse la plus simple.

Tout d'abord, mettez à jour votre couche d'accès aux données pour gérer à la fois le nouveau et l'ancien schéma :les insertions et les mises à jour doivent mettre à jour à la fois le nouveau et l'ancien afin de maintenir la synchronisation. Les requêtes ne doivent examiner que l'ancien schéma car il s'agit de la source de l'enregistrement à ce stade.

Copiez ensuite toutes les données de l'ancien vers le nouveau schéma.

Ensuite, mettez à jour l'accès aux données pour interroger maintenant les nouvelles données. Cela gardera les anciennes données à jour, mais permettra un test complet des nouvelles données avant d'apporter des modifications qui entraîneraient la désynchronisation des deux ensembles de données. Cela facilitera également les mises à jour continues (c'est-à-dire que les applications avec à la fois le nouveau et l'ancien code d'accès aux données fonctionneront toujours en même temps.

Enfin, mettez à jour la couche d'accès aux données pour accéder uniquement au nouveau schéma, puis supprimez les anciennes données.

À l'exception de cette dernière étape, vous pouvez toujours revenir à la version précédente si vous rencontrez des problèmes.