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

Il modo più veloce per eliminare oltre 100 milioni di documenti per ID

Poiché non possiamo permetterci tempi di inattività degli utenti e la soluzione deve essere eseguita su base giornaliera (anche se su scala molto più ridotta, poiché stiamo recuperando il ritardo con questa prima esecuzione), non ho potuto utilizzare la soluzione di Salvador Dalì. Ho finito per raggruppare i miei record da eliminare in gruppi di 1k e inviare un comando BulkWrite contenente un delete() operazione per ogni record. Parallelamente ho inviato n comandi BulkWrite per annullare i riferimenti a ciascun record, dove n è il numero di raccolte che fanno riferimento ai record e dove ogni richiesta BulkWrite ha 1k individuale update() operazioni, simili a delete() . Ciò ha funzionato abbastanza velocemente, quindi non ho tentato di ottimizzare ulteriormente regolando il numero di operazioni nei comandi BulkWrite.