数据库扩展立方在电子商务网站平台的现实应用
2020/3/12 12:03:54
AllScale公司的数据架构师认为数据架构将在三个维度上受到限定,即交易量的增加、第23章所做的扩展应用的决策以及客户和产品的增加。因此,他们必须要寄托AKF数据库扩展立方的所有坐标轴。
架构师团队决定划分站点的功能,以便适应应用复杂度的增加。大概你还记得,像欣赏、搜索、产品目录上传、存货管理等无需知道客户特定的信息就能实行的动作,都可以成为站点上的一个功能分支, 具有本身的代码库。决定把这些功能放入泳道,每个泳道都必须要具有它那部分功能所需的数据。架构师团队熟悉到,要这样做,就要修改数据架构的情势,有些数据元素要被复制到整个架构中。要确保对于任何数据元素都有且只有一个节点,用于存放最近最新的数据副本。在理想状态下,架构师团队把数据的更新放在一个泳道中,同时在客户交易之外,采用某种情势的异步更新方式,来更新架构中的其他部分中的数据。所有的客户信息都要被划分到N个豆荚中,其中N是个可配置的参数。每个豆荚中会驻留大约1/N的客户。这是根据客户进行的Z轴划分。在每个Z轴划分中,架构师团队预备对代码和实行代码所需的数据进行Y轴划分。登录/登出是一个功能,付出是一个功能,账户状况和汇总是一个功能,支撑这些功能所需的数据也会随应用作出相应的划分。每个Y轴划分的泳道只需了解1/N的客户,因此,必须要缓存的数据(如登录信息)就大大削减了,缓存速度就更快了。
最后,架构师团队在所有划分中都应用了X轴划分,以便扩展这些划分中的交易量。
搜索这个功能引起了AlScale的数据和软件架构师的忧虑,所以最终他们决定对这个领域给予更多的关注。他们打算利用扩展立方的X轴、Y轴和Z轴来知足搜素的需求,让最终用户特别很是快地就能得到搜索效果。把搜索功能单独划分出来,就是Y轴划分了,所以我们接下来要关注的是X轴和Z轴划分。对于下面的讨论。
架构师团队决定采用聚合器来加速处理搜索请求。这些聚合器要负责处理交易量的增加,每个聚合器都是其他聚合器的克隆品,这就创建了一个X轴实现。最终请求被发送给N个体系,每个体系中存放了1/N的要贩卖的产品,N是应用到产品目录上的模数。这种N项划分就是一种根据产品编号进行的Z轴划分。此外,每个Z轴划分中还有M个克隆的数据集,这样可以应对交易量的增加。
一个搜索请求可以经过负 载均衡器被分配到任何一个聚合器上,然后这个聚合器会划分出N个单独的请求,每一个对应于N个产品数据库层中的一个。这些产品数据库中的每一个都有1/N(产品编号对N取模)的数据。接下来,每个数据层中都有M个克隆品,它们是这1/N数据的副本,对这个数据层的请求会被负载均衡地分配到这M个副本中的一个上。随着每个数据层返回一个效果,聚合器会把这些数据元素编辑成一个完备的列表,完成后就把这个排列好的列表发送给请求者。这N个Z轴划分返回效果都特别很是快,由于数据可以驻留在内存中,而且每个数据库只查找1/N的数据。因为有多个聚合器,而且N个Z轴划分中都有M个X轴副本,所以这个体系是完全冗余的。只要增长聚合器和网站制作数据的X轴副本,这个体系就能轻松地扩展交易量。假如必要,当聚合器一次必须要同太多Z轴划分交互时,还可以增长聚合器的聚合器。
如没特殊注明,文章均为成都网站建设公司唯赛网络原创,转载请注明来自http://www.weseo.cn/News/knowledge_675_11290.html