To me, that just sounds like it forces you to do the Right Thing from the beginning. Eventually, you <i>will</i> need to shard your data in some way†.<p>If you&#x27;re already locked into a &quot;global queries against tables containing Everyone&#x27;s Stuff&quot; data model, you end up doing this through Stupid Database Tricks like &quot;see-other&quot; redirection or silent persistent-hash load-balancing (with constant ops-heavy rebalancing as you grow.)<p>If you think about sharding from the beginning, though, you end up just dividing your data into little naturally-atomic &quot;worlds.&quot; Like sharding email [headers, not bodies] by user, or sharding StackOverflow posts by community.<p>If you don&#x27;t think you&#x27;ll ever scale to the point where you&#x27;ll be forced to make those calls, just pick a different database. (But then, if you don&#x27;t think you&#x27;ll ever reach that scale, then literally <i>any</i> database will do.)<p>---<p>† Unless you&#x27;re EVE Online. They could probably write a really good whitepaper about how they&#x27;ve scaled their single-node MSSQL database so far. I presume they&#x27;re mostly following the same patterns you would when running e.g. Oracle on big iron; but—according to most sources—they&#x27;re just using some heavily-loaded commodity hardware with no fancy IO offloading et al. No idea how they do it.