Maybe your definition of usable is a bit different than mine, but we've done two maps of DC:
http://tiles.mapbox.com/mapbox#!/map/dc-bright http://tiles.mapbox.com/mapbox#!/map/dc-nightvision
The first is 17MB, the second is 57MB. One could probably get to sidewalk-level without cracking 1GB here. Where did hundreds of gigabytes come from?
That said - we'd like to start doing rendering on-client, and it would be great - the question is how to slice and dice data so that the data itself isn't gigantic and rendering it isn't slow.