• Well storage is cheap and yes if you're trying to keep historical dimension data it's entirely expected you might end up with a much larger data warehouse than your sources.  Now when you say multiple staging layers what do you mean?  I would expect that the staging areas would stay a relatively similar size to the source data, those are generally truncated as part of the load.  But you likely shouldn't be processing all the data through multiple layers and ultimately down to the individual data marts, that would definitely lead to bloat and a slow load as well as not scaling well.