首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

分布式数据库比并行数据库的优势在哪里?

MPP(Massively Parallel Processing)是指多个处理器(或独立的计算机)并行处理一组协同计算。为了保证各节点的独立计算能力,MPP数据库通常采用ShareNothing架构,最为典型的产品是Teradata(简称TD),后来也出现Greenplum(简称GPDB)、Vertica、Netezza等竞争者。

单在多年的实际应用中,我们发现MPP从批处理和联机访问两个方面都显现了一些不足。

落后节点:

MPP架构下,工作负载节点是完全对称的,数据均匀的存储在这些节点,处理过程中每个节点使用本地的CPU、内存和磁盘等资源完成本地的数据加工。这个架构虽然提供了较好的扩展性,但隐藏了极大的问题——Straggler,即当某个节点出现问题导致速度比其他节点慢时,该节点会成为Straggler。

此时,无论集群规模多大,批处理的整体执行速度都由Straggler决定,其他节点上的任务执行完毕后则进入空闲状态等待Straggler,而无法分担其工作。导致节点处理速度降低的原因多数是磁盘等硬件损坏,考虑到磁盘本身的一定故障率(根据统计前三个月内2%损坏率,第二年时达到8%)当集群规模达到一定程度时,故障会频繁出现使straggler成为一个常规问题。

并发性能:

由于MPP的“完全对称性”,即当查询开始执行时,每个节点都在并行的执行完全相同的任务,这意味着MPP支持的并发数和集群的节点数完全无关。根据该文中的测试数据,4个节点的集群和400个节点的集群支持的并发查询数是相同的,随着并发数增加,这二者几乎在相同的时点出现性能骤降。

传统MPP的联机查询主要面向企业管理层的少数用户,对并发能力的要求较低。而在大数据时代,数据的使用者从战略管理层转向战术执行层乃至一线人员,从孤立的分析场景转向与业务交易场景的融合。对于联机查询的并发能力已经远超MPP时代,成为OLAP场景分布式数据库要考虑的一个重要问题。

从整体架构来看,分布式更加看重大数据量批量处理的吞吐能力。同时,分布式具备MPP所缺失的批量任务调整能力,数据的多副本存储使其具有更多“本地化”数据加工的备选节点,而且数据加工处理与数据存储并不绑定,可以根据节点的运行效率动态调整任务分布,从而在大规模部署的情况下具有整体上更稳定的效率。相比之下,MPP在相对较小的数据量下具有更好的执行效率。

分布式数据库与并行数据库有什么区别

(1)应用目标不同。并行数据库系统的目标是充分发挥并行计算机的优势,利用系统中的各个处理机结点并行完成数据库任务,提高数据库系统的整体性能。分布式数据库系统主要目的在于实现场地自治和数据的全局透明共享,而不要求利用网络中的各个结点来提高系统处理性能。

(2)实现方式不同。在具体实现方法上,并行数据库系统与分布式数据库系统也有着较大的不同。在并行数据库系统中,为了充分利用各个结点的处理能力,各结点间可以采用高速网络连接。结点键的数据传输代价相对较低,当某些结点处于空闲状态时,可以将工作负载过大的结点上的部分任务通过高速网传送给空闲结点处理,从而实现系统的负载平衡。

但是在分布式数据库系统中,为了适应应用的需要,满足部门分布特点的需要,各结点间一般采用局域网或广域网相连,网络带宽较低,颠倒点的通信开销较大。因此,在查询处理时一般应尽量减少结点间的数据传输量。

(3)各结点的地位不同。在并行数据库系统中,各结点是完全非独立的,不存在全局应用和局部应用的概念,在数据处理中只能发挥协同作用,而不能有局部应用。在分布式数据库系统中,各结点除了能通过网络协同完成全局事务外,各结点具有场地自治性,每个场地使独立的数据库系统。每个场地有自己的数据库、客户、CPU等资源,运行自己的DBMS,执行局部应用,具有高度的自治性。

PetaBase的架构优势

我们基于Hadoop框架打造了高可用、高吞吐的实时/离线接入系统,将数据统一落入HDFS,形成原始层;基于Hive的小时级任务,分别负责计算生成明细层与汇总层;应用层使用PetaBase 内部的MPP计算引擎完成各种报表分析、KPI、决策支持的快速响应。

面对实时数仓的诉求,PetaBase扩展出的流式计算框架能很好地应对各种流式处理的需求。从上文可以看到,结构化数据的流式处理与半结构化数据的流处理基本相似,只是把采集端的 OGG 替换为 Flume,分发层和计算层都是完全一样的。从总体流程来看,基本模型是不变的。采用这种统一的、分层次的架构,有如下几个优势:

1)基于分层的设计,可以灵活地扩展或替换流处理框架中的上下游;

2)统一的后端处理,最大限度的保证系统的稳定性并减少混合架构的复杂度;

3)批流统一,同样的 SQL,既可以跑离线也可以跑实时;

4)低延迟,高吞吐,端到端的 Exactly-once;

5)同时支持结构化与非结构化数据的实时处理,支持多种异构数据源的采集;

6)离线实时数仓的一体化。

作为一款国产分布式大数据平台,PetaBase已经在诸多领域证明了自身的价值。尤其是在面向数据仓库的应用中,更是展示了其出色的性能和坚如磐石的可靠性。不管你是联机交易,网站访问,还是物联网、车联网(传感器)的应用场景,如果你需要一个能支撑T+0到T+n的数据平台,PetaBase是你最好的选择之一。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200415A0PFVI00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券