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

Le moyen le plus rapide de supprimer plus de 100 millions de documents par ID

Parce que nous ne pouvons pas nous permettre de temps d'arrêt pour les utilisateurs et que la solution doit être exécutée quotidiennement (bien qu'à une échelle beaucoup plus petite, car nous rattrapons cette première exécution), je ne pouvais pas utiliser la solution de Salvador Dali. J'ai fini par regrouper mes enregistrements à supprimer en groupes de 1k et envoyer une commande BulkWrite contenant un delete() opération pour chaque enregistrement. En parallèle, j'ai envoyé n commandes BulkWrite pour annuler les références à chaque enregistrement, où n est le nombre de collections qui référencent les enregistrements et où chaque requête BulkWrite a 1k update() individuel opérations, similaires à la delete() . Cela a fonctionné assez rapidement, donc je n'ai pas tenté d'optimiser davantage en ajustant le nombre d'opérations dans les commandes BulkWrite.