In a proper production environment, you just compact each slave one at a time because you have a replica set rather than a single instance.
Of course, if you aren't replicating your business's production database, you have a whole world of problems.
Of course, if you aren't replicating your business's production database, you have a whole world of problems.
Not really. In RDBMS you can have offline backups (assuming you aren't building for high availability). I don't know if that exists for MongoDB.
Even pre-auto-vacuuming Postgres (ie, before Postgres v8) would allow you to vacuum the database while online. You had a performance hit, but there was no need to switch to a backup server or anything.
Can you repartition the data online to keep the cleanup work bounded?
That's the solution?? That sounds like a workaround in a production environment.