Transaction storage keeps the most granular monitored data - mainly pure paths, but also details on Synthetic monitors or user's visits.
You can control transaction storage size with many triggers:
- Service request level retention time
- Service code level retention time
- Number of monitored entities - transactions, hosts etc.
It's hard to estimate how much storage is needed, as it depends on many aspects. If you see "data truncation alerts" I recommend adding more storage, or if not possible - lowering retention times.