MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Najszybszy sposób na usunięcie ponad 100 mln dokumentów według ID

Ponieważ nie możemy sobie pozwolić na przestoje użytkowników, a rozwiązanie ma być uruchamiane codziennie (choć na znacznie mniejszą skalę, ponieważ nadrabiamy pierwsze uruchomienie), nie mogłem skorzystać z rozwiązania Salvadora Dali. Skończyło się na pogrupowaniu moich rekordów do usunięcia w grupy po 1k i wysłaniu polecenia BulkWrite zawierającego jedną delete() operacja dla każdego rekordu. Równolegle wysłałem n poleceń BulkWrite, aby anulować odwołania do każdego rekordu, gdzie n to liczba kolekcji, które odwołują się do rekordów i gdzie każde żądanie BulkWrite ma 1k indywidualnych update() operacje, podobne do delete() . Działało to dość szybko, więc nie próbowałem dalej optymalizować, dostosowując liczbę operacji w poleceniach BulkWrite.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Wartości mangusty i pływaka

  2. MongoDB przechowujący tablice ObjectId

  3. MongoDB — upuść kolekcję

  4. Paginacja poddokumentów w języku Mongoose

  5. MongoDB:pobierz dokumenty według tagów