xDB is a marketing database. As a rule of thumb, you should only store data in xDB if it's required for Personalization, Targeting and Measurement / Analytics.
You can delete a contact and all associated interactions, facets, and identifiers. Use this functionality to remove data that is no longer valuable to your business - for example, you may want to delete contacts that do not have any interactions from the past two years.
xConnect allows you to delete contacts and all associated data in xDB if you choose to. So, you have the ability to remove the data that isn't useful to you anymore.
xConnect allows you to extend the XConnectDataAdapterProvider
, and this allows you to hook into the sweet spot where the session data is being written to the shard databases for storage. You can follow this article to reduce xDB growth.
Extending xConnect To Reduce xDB Growth
When you delete a contact the following data is removed from the xDB Collection database:
The xDB Search Indexer removes all contact and interaction data from the xDB index
Hope this helps.