通常可以利用客户特有的属性进行拆分,如客户ID、姓名、所在地等。非常大的相似数据集合,如快速增长的大型客户群。标识你所知道的客户属性,如客户ID、姓、所在地或设备,根据这些属性拆分数据和服务。
客户信息的增长速度超过了其他所有数据的增长,或者你需要在要扩展的某些客户群之间执行故障隔离。Z轴拆分除了有助于扩展客户群,还适用于其他不能采用Y轴拆分方法的大型数据集合。
通常被称为数据分片,即把数据集合或服务分割成几片。这些数据片一般大小相同,但如果有必要的话,也有可能大小不同。这样做的原因之一就是让你推出的应用能够先只影响小部分客户,当你认为自己已经发现并解决了主要问题后,再逐渐应用于更多的客户,从而降低了风险。
通常,我们都是根据对请求者或客户的了解进行分片的。假设我们提供的是打卡和考勤管理系统,而客户是雇员数大于1000的企业级客户,我们负责对每个客户的员工进行考勤跟踪。我们可能会决定按照公司进行分片,即每个公司都有自己专用的Web页面、应用程序和数据库服务器。考虑到我们还想利用多租户架构带来的节约成本的好处,那么可以把几家小公司划分到一个数据片中。拥有许多员工的大公司可以有专用的硬件,而员工相对较少的小公司则可以共同存在于较大的数据片中。利用员工和公司之间的关系把系统划分成了可扩展的几部分,从而能够采用较少的、成本较低的硬件,实现横向扩展。
如果我们是手机广告服务提供商,就必须了解终端用户所用设备及其运营商,两者都很引人注目,都可用于划分数据。如果我们是电子商务运营商,那么可以根据用户的所在地划分用户群,这样能有效地利用配送中心的可用库存。或者也可以根据客户的新老程度、购买次数和购买金额划分客户。如果这些方法都失败了,那么可以利用在用户注册时分配给他的用户ID的模数或散列表进行划分。
为什么要拆分相近的东西呢?对于高速增长的公司来说,答案显而易见。响应请求的速度部分是由远近位置不同的缓存命中率决定的。该速度决定了一个系统能够处理多少个事务,从而决定了处理一定数量的请求,需要多少个系统。一种极端情况,是对数据不做划分,那么当我们要响应一个用户的请求,从而需要遍历一块巨大的数据时,事务处理的速度会慢得令人难以忍受。当响应请求的速度至关重要,而响应请求要查询的数据巨大时,拆分不同的东西或者拆分相近的东西就势在必行了。
拆分相近的东西显然并不局限于拆分客户,但是根据我们的咨询经验,拆分客户是最常见也最简单的方法。有时,我们也推荐拆分产品目录。不过对于要把各种各样的产品目录拆分成草坪躺椅和尿布这样的数据项的情况,我们会把它归为拆分不同的在西我们也曾帮助客户利用事务ID的模数或散列表进行划分。在这种情况下,我们对请求者一无所知,但我们却有一个能够利用的单一增长的网站建设数值。对于要保存事务日志以便将来能够研究其中错误的系统,可以采用这种类型的划分。
>>> 查看《拆分相近的东西(Z轴原则)》更多相关资讯 <<<
本文地址:http://tcgq.cn/news/html/3455.html