MPP(Massively Parallel Processing)是指多个处理器(或独立的计算机)并行处理一组协同计算,为了保证各节点的独立计算能力,MPP数据库通常采用ShareNothing架构,最为典型的产品是Teradata(简称TD),后来也出现Greenplum(简称GPDB)、Vertica、Netezza等竞争者。
单在多年的实际发展应用中,我们可以发现MPP从批处理和联机访问控制两个重要方面都显现了一些研究不足。
落后节点:
使用本地CPU,存储器和磁盘资源,完成在MPP架构的本地数据处理,该节点的工作负载是存储在这些节点中完全对称,这个架构虽然提供了较好的扩展性,但隐藏了极大的问题——Straggler,即当某个节点出现问题导致速度比其他节点慢时,该节点会成为Straggler。
此时,无论集群规模多大,批处理的整体执行速度都由Straggler决定,其他节点上的任务执行完毕后则进入空闲状态等待Straggler,而无法分担其工作,导致节点处理速度降低的原因多数是磁盘等硬件损坏,考虑到磁盘本身的一定故障率(根据统计前三个月内2%损坏率,第二年时达到8%)当集群规模达到一定程度时,故障会频繁出现使straggler成为一个常规问题。
并发性能:
由于MPP“完全对称”,即当查询开始执行时,每个节点并行执行完全相同的任务,这意味着MPP支持的并发数与集群中的节点数完全独立,根据该文中的测试数据,4个节点的集群和400个节点的集群技术支持的并发用户查询数是相同的,随着并发数增加,这二者几乎在相同的时点出现安全性能骤降。
传统的MPP在线查询主要针对企业管理的少数用户,对并发能力的要求较低。 在大数据时代,数据的用户从战略管理向战术执行层乃至一线人员转变,从孤立的分析场景向与业务交易场景的整合,对于联机查询的并发能力发展已经远超MPP时代,成为OLAP场景分布式数据库系统要考虑的一个非常重要研究问题。
从整体架构来看,分布式更加看重大数据量批量处理的吞吐能力。同时,分布式具备MPP所缺失的批量任务进行调整发展能力,数据的多副本存储使其成为具有“本地化”数据信息加工的备选节点,而且数据加工处理与数据存储并不绑定,可以根据不同节点的运行效率动态调整任务分布,从而在大规模部署的情况下具有整体上更稳定的效率。相比之下,MPP在数据的相对少时有更好的效率。
并行数据库和分布式数据库的区别是什么
(1)应用研究不同。并行数据库系统的目标是充分发挥并行计算机的优势,利用系统中的各个处理机结点并行完成数据库任务,提高数据库系统的整体性能,分布式数据库系统主要目的在于可以实现场地自治和数据的全局透明共享,而不要求利用网络中的各个结点来提高系统分析处理性能。
(2)不同的实现方式。在具体实施中,分布式数据库系统与并行数据库系统也有很大的不同。 在并行数据库系统中,为了充分利用各节点的处理能力,可以在各节点之间采用高速网络连接。节点键的数据传输的成本相对较低,当一些节点处于空闲状态,可以通过高速网络处理工作负载过大的节点,以实现系统负载平衡。
然而,在分布式数据库系统中,为了以满足应用需求,满足了部门分布特点的需求,连接到局域网或广域网的节点中,网络带宽低,颠倒点的通信开销大点。因此,在查询处理中应尽可能减少节点之间的数据传输。
(3)各结点的地位不同。在并行数据库管理系统中,各结点是完全非独立的,不存在全局应用和局部应用的概念,在数据处理中只能通过发挥协同作用,而不能有局部应用。在分布式数据库管理系统中,各结点除了能通过网络进行协同工作完成全局事务外,各结点具有场地自治性,每个场地使独立的数据库系统。每个网站都有自己的数据库,客户,CPU和其他资源来运行自己的数据库系统,执行本地应用程序具有高度自治。
更多产品了解
欢迎扫码加入云巴巴企业数字化交流服务群
产品交流、问题咨询、专业测评
都在这里!
2020-02-10 17:16:06
2020-02-27 16:49:40
2022-11-22 10:51:42
2022-11-22 10:58:30
2022-02-24 10:24:34
2022-11-21 15:49:23
甄选10000+数字化产品 为您免费使用
申请试用
评论列表