好问题。我知道有几家公司已经做到了这一点(Facebook 跃居最大)。没有人高兴,但其他选择也很糟糕。
您需要考虑更多的事情——当其中一些数据库或服务器出现故障时会发生什么?当您需要执行跨数据库查询时会发生什么(即使您现在不这么认为,您也会这样做)。
这是 FriendFeed 解决方案: http: //bret.appspot.com/entry/how-friendfeed-uses-mysql
这有点“背道而驰”,因为他们基本上使用 MySQL 作为美化的键值存储。我不确定他们为什么不直接去掉中间人,而是使用 BerkeleyDB 之类的东西来存储他们的对象。连接管理,也许?似乎 MySQL 开销对于可以很容易添加的东西(著名的遗言)支付的代价太高了。
您真正要寻找的(我认为)是分布式无共享数据库。有几个是基于 MySQL 和 PostgreSQL 等开源技术构建的,但没有一个是免费的。如果您有购买情绪,请查看以下公司:Greenplum、AsterData、Netezza、Vertica。
还有大量的各种分布式键值存储解决方案。由于缺乏更好的参考,这里是一个起点:http ://www.metabrew.com/article/anti-rdbms-a-list-of-distributed-key-value-stores/ 。