On our current system XDB is grown very large,  the interactions DB is around 80% of the total database size, followed by KeyBehaviourCache at 5% then GeoIps and Contacts at 4%. We need to reduce the size to keep it maintainable.

Here are some ideas I have had on reducing the size:

 - Delete all data in the interactions table over a certain age.
 - Only keep X number of interactions per contact (only a good solution if we have a lot of repeat contacts).
 - Delete all interaction data and rely only on the key behaviour cache. 
 - Delete all data over X number of days old. 


Has anyone tried any of the above? What other techniques are being used to reduce the size of the XDB Mongo database? What impact has there been on performance when running cleanup tasks?