MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

MongoDB изтрива много бавно

Това се случва, защото въпреки че

db.repo.remove({"date" : {"$lt" : new Date(1362096000000)}})

изглежда като една единствена команда, тя всъщност работи с много документи - толкова, колкото отговарят на тази заявка.

Когато използвате репликация, всяка операция за промяна трябва да бъде записана в специална колекция в local база данни, наречена oplog.rs - oplog за кратко.

Oplog трябва да има запис за всеки изтрит документ и всеки един от тези записи трябва да бъде приложен към oplog на всеки вторичен файл, преди да може да изтрие същия запис.

Едно нещо, което мога да предложа да обмислите, е TTL индекси - те "автоматично" ще изтриват документи въз основа на датата на изтичане/стойността, които сте задали - по този начин няма да имате едно масивно изтриване и вместо това ще можете да разпределите натоварването повече във времето.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongooseJS/MongoDB търси точна фраза

  2. Spring Boot Standard UUID кодек не работи с AbstractMongoClientConfiguration

  3. Как да проектираме високодостъпни среди за бази данни с отворен код

  4. Мога ли да кандидатствам за всяка в обобщена заявка в MongoDB?

  5. MongoDB - Гласуване за/против коментари с тръбопровод за агрегиране