sql >> Databáze >  >> NoSQL >> MongoDB

Nejrychlejší způsob, jak odstranit 100 milionů dokumentů podle ID

Protože si nemůžeme dovolit prostoje uživatele a řešením je běžet na denní bázi (i když v mnohem menším měřítku, protože doháníme toto první spuštění), nemohl jsem použít řešení Salvadora Dalího. Nakonec jsem seskupil své záznamy k odstranění do skupin po 1k a odeslal jsem příkaz BulkWrite obsahující jeden delete() operace pro každý záznam. Paralelně jsem odeslal n příkazů BulkWrite k vynulování odkazů na každý záznam, kde n je počet kolekcí, které odkazují na záznamy a kde každý požadavek BulkWrite má 1k jednotlivých update() operace, podobné delete() . To fungovalo přiměřeně rychle, takže jsem se nepokoušel o další optimalizaci úpravou počtu operací v příkazech BulkWrite.



  1. findOne funguje, ale ne dostat vše/najít

  2. mongoDB/mongoose:jedinečný, pokud není null

  3. jak ignorovat duplicitní dokumenty při použití insertMany v mongodb php knihovně?

  4. MongoDB:Sharding na jednom počítači. Dává to smysl?