拆分相近的东西(Z轴原则)
平日可以应用客户特有的属性进行拆分,如客户ID、姓名、地点地等。异常年夜的类似数据聚集,如快速增加的年夜型客户群。标识你所知道的客户属性,如客户ID、姓、地点地或装备,依据这些属性拆分数据和办事。
客户信息的增加速度跨越了其他所稀有据的增加,或者你须要在要扩大的某些客户群之间履行故障隔离。Z轴拆分除了有助于扩大客户群,还实用于其他不克不及采取Y轴拆分办法的年夜型数据聚集。
平日被称为数据分片,即把数据聚集或办事朋分成几片。这些数据片一般年夜小雷同,但假如有需要的话,也有可能年夜小分歧。如许做的原因之一就是让你推出的运用可以或许先只影响小部门客户,当你以为本身已经发明并解决了重要问题后,再逐渐运用于更多的客户,从而下降了风险。
平日,我们都是依据对要求者或客户的懂得进行分片的。假设我们供给的是打卡和考勤治理体系,而客户是雇员数年夜于1000的企业级客户,我们负责对每个客户的员工进行考勤跟踪。我们可能会决议依照公司进行分片,即每个公司都有本身专用的Web页面、运用法式和数据库办事器。斟酌到我们还想应用多租户架构带来的勤俭成本的利益,那么可以把几家小公司划分到一个数据片中。拥有很多员工的年夜公司可以有专用的硬件,而员工相对较少的小公司则可以配合存在于较年夜的数据片中。应用员工和公司之间的关系把体系划分成了可扩大的几部门,从而可以或许采取较少的、成本较低的硬件,实现横向扩大。
假如我们是手机告白办事供给商,就必需懂得终端用户所用装备及其运营商,两者都很惹人注视,都可用于划分数据。假如我们是电子商务运营商,那么可以依据用户的地点地划分用户群,如许能有用地应用配送中间的可用库存。或者也可以依据客户的新老水平、购置次数和购置金额划分客户。假如这些办法都掉败了,那么可以应用在用户注册时分派给他的用户ID的模数或散列表进行划分。
为什么要拆分邻近的器械呢?对于高速增加的公司来说,谜底显而易见。响应要求的速度部门是由远近地位分歧的缓存射中率决议的。该速度决议了一个体系可以或许处置若干个事务,从而决议了处置必定数目的要求,须要若干个体系。一种极端情形,是对数据不做划分,那么当我们要响应一个用户的要求,从而须要遍历一块伟大的数据时,事务处置的速度会慢得令人难以忍耐。当响应要求的速度至关主要,而响应要求要查询的数据伟大时,拆分分歧的器械或者拆分邻近的器械就势在必行了。
拆分邻近的器械显然并不局限于拆分客户,然则依据我们的咨询经验,拆分客户是最常见也最简略的办法。有时,我们也推举拆分产物目次。不外对于要把各类各样的产物目次拆分成草坪躺椅和尿布如许的数据项的情形,我们会把它归为拆分分歧的在西我们也曾赞助客户应用事务ID的模数或散列表进行划分。在这种情形下,我们对要求者一窍不通,但我们却有一个可以或许应用的单一增加的网站扶植数值。对于要保留事务日记以便未来可以或许研讨个中毛病的体系,可以采取这种类型的划分。