当人们谈论使用"碎片"扩展网站时,它们是什么意思?

时间:2020-03-06 14:20:50  来源:igfitidea点击:

我听说过多次提到的"分片"技术,用于解决大型网站的扩展问题。这种"分片"技术是什么?为什么如此好?

解决方案

Karl Seguin有一篇很好的关于分片的博客文章。

从帖子:

Sharding is the separation of your
  data across multiple servers. How you
  separate your data is up to you, but
  generally it’s done on some
  fundamental identifier.

简而言之,请想象将users_tbl分散在多个服务器上。因此,用户1-5000和服务器1上的用户5000-10000在服务器2上;等等。如果数据模型在代码中足够抽象,则通常不是代码上的巨大变化。

当然,如果所有查询都类似于" SELECTED COUNT(* FROM FROM Users_tbl GROUP BY userType)",则此方法将变得很困难,但是当位置为" WHERE userid = 5"时,则更有意义。

由于"分片"是大型网站的架构原则的一部分,因此我们可能有兴趣在此处收听" eBay的Randy Shoup架构原则"。