我曾多次听到关于解决大型网站的扩展问题的“分片”技术。这种“碎片”技术是什么?为什么它这么好?

有帮助吗?

解决方案

卡尔·塞甘有一个 好博客 关于分片的帖子。

来自帖子:

碎片是您在多个服务器上的数据分离。您如何将数据分开取决于您,但通常是在某些基本标识符上完成的。

其他提示

简而言之,想象一下将 users_tbl 分布在多个服务器上。因此,用户 1-5000 在服务器 1 上,用户 5000-10000 在服务器 2 上;ETC。如果您的数据模型在代码中足够抽象,那么通常不会对代码进行巨大的更改。

当然,如果您的所有查询都类似于“SELECT COUNT(*) FROM users_tbl GROUP BY userType”,那么这种方法会变得很困难,但是当您的 where 是“WHERE userid = 5”时,它就更有意义了。

由于“分片”是大型网站架构原则的一部分,您可能有兴趣聆听“Randy Shoup 的 eBay 架构原则” 这里.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top