当人们谈论使用“分片”扩展网站时,他们是啥意思?

Posted

技术标签:

【中文标题】当人们谈论使用“分片”扩展网站时,他们是啥意思?【英文标题】:When people talk about scaling a website with 'shards', what do they mean?当人们谈论使用“分片”扩展网站时,他们是什么意思? 【发布时间】:2010-09-10 15:22:09 【问题描述】:

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

【问题讨论】:

【参考方案1】:

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

【讨论】:

【参考方案2】:

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

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

【讨论】:

【参考方案3】:

Karl Seguin 有一篇关于分片的 good blog 帖子。

来自帖子:

分片是你的分离 跨多个服务器的数据。你怎么 分开你的数据取决于你,但是 通常它是在一些上完成的 基本标识符。

【讨论】:

以上是关于当人们谈论使用“分片”扩展网站时,他们是啥意思?的主要内容,如果未能解决你的问题,请参考以下文章

在谈论单元测试时,“DAMP not DRY”是啥意思?

人们说“搜索哈希表”是啥意思? [复制]

Thing是啥意思

网页上的前台与后台具体是啥意思?他们又有啥关系?

在谈论 MongoDB 和 Cassandra 时,“面向文档”与键值是啥意思?

web网页的基础是啥?