本网站(662p.com)打包出售,且带程序代码数据,662p.com域名,程序内核采用TP框架开发,需要联系扣扣:2360248666 /wx:lianweikj
精品域名一口价出售:1y1m.com(350元) ,6b7b.com(400元) , 5k5j.com(380元) , yayj.com(1800元), jiongzhun.com(1000元) , niuzen.com(2800元) , zennei.com(5000元)
需要联系扣扣:2360248666 /wx:lianweikj
终于有人把MPP大数据系统架构讲明白了
无间道 · 189浏览 · 发布于2022-06-21 +关注

从资源管理角度来看,当前的大数据系统架构主要有两种:一种是MPP数据库架构,另一种是Hadoop体系的分层架构。这两种架构各有优势和相应的适用场景。另外,随着光纤网络通信技术的发展,大数据系统架构正在向存储与计算分离的架构和云化架构方发展。

本文首先回顾并行硬件架构的发展,并进一步介绍基于并行硬件架构的数据库一体机系统与基于MPP架构的数据库软件系统。数据库一体机系统在银行等大型企业中采用广泛,一体机的优点是开箱即用、功能丰富、稳定、售后服务好,缺点是价格昂贵、扩展不灵活。基于普通服务器集群加MPP数据库软件构建的数据库系统,优点是硬件成本低、水平扩展容易、易于进行海量数据处理、吞吐量高,缺点是仅适合用于数据分析。

01并行硬件架构的发展


为了提高计算机系统的处理能力,在处理单元(CPU)性能确定的情况下,就需要增加处理单元的数量,此时从计算单元(CPU)对资源(特别是内存)访问的角度来看,并行硬件架构分为三种,详细说明如下。


SMP(Symmetric Multi Processing,对称多处理器)架构。这里的“对称”是指所有处理器之间是平等的,并且共享包括物理内存在内的所有资源,处理器访问不同资源的能力(速度)是一致的,每个处理器访问内存中的任何地址所需的时间是相同的,因此SMP架构也被称为UMA(Uniform Memory Access,一致存储器访问)架构。


  • NUMA(Non-Uniform Memory Access,非一致存储访问)架构。NUMA架构服务器内部有多个处理模块(节点),每个模块有多个CPU和本地内存,但每个CPU也可以访问整个系统的内存,当然访问本模块的内存要比访问其他模块内存的速度快,这也是非一致存储访问架构名称的由来。


  • MPP(Massively Parallel Processing,大规模并行处理)架构。MPP架构是将多个处理节点通过网络连接起来,每个节点是一台独立的机器,节点内的处理单元独占自己的资源,包括内存、硬盘、IO等,也就是每个节点内的CPU不能访问另一个节点的内存(这是MPP与NUMA的主要区别),MPP架构服务器需要通过软件实现复杂的调度机制以及并行处理过程。


这三种技术架构的发展是一个并行能力、扩展能力逐渐提高的过程,也是耦合度逐渐减低的过程,它们的区别如图1所示。SMP架构服务器的主要问题是扩展能力十分有限,随着CPU数量的增加,内存访问冲突出现的概率会快速增加。实验表明,SMP架构服务器CPU利用率最好的情况是服务器内有2~4个CPU。NUMA架构可以在一个物理服务器内最多集成上百个CPU,但由于访问非本节点内存的延时远远超过本地内存,因此在CPU达到一定数量后,无法再通过增加CPU实现系统性能的线性提高。MPP架构的扩展性最好,理论上对节点数量没有什么限制,可以包含几百个节点。


▲图1 并行硬件架构对比



02基于并行硬件架构的数据库设备


数据库厂商推出了很多软硬件一体的数据库设备产品,此类产品是由一台或多台主机组成的集成设备,将服务器、存储、操作系统和数据库软件集成在一起,可以实现开箱即用。国内一般将此类产品称为数据库一体机(Database Machine)。


为了提高性能,此类产品都会采用并行硬件架构。从资源共享角度来看,这类产品的数据库架构可分成三类,详细说明如下。


  • 完全透明共享(Shared Everthing)系统。一般是针对单个主机,采用SMP或者NUMA硬件架构,是一个高性能的单台服务器,此类产品可以提供较高的事务处理能力。


  • 完全不共享(Shared Nothing)系统。由多个主机组成,采用MPP硬件架构,各节点都有自己私有的CPU、内存、硬盘等,不存在共享资源,每个节点是一台SMP服务器,在每个节点内都有操作系统和管理数据库的实例副本,管理本节点的资源,节点间通过网络通信,能够处理的数据量更大,适合复杂的数据综合分析,对事务支持较差。


  • 共享磁盘(Shared Disk)系统。由多个主机组成,也属于MPP硬件架构,各节点使用自己私有的CPU和内存。共享磁盘系统可实现高可用性,即使一个节点故障,也可以通过其他节点访问所有数据,但由于节点之间不共享内存,需要一个锁管理器来维护节点缓存之间的一致性,会带来额外的开销。


这三类产品的功能特点对比如下表所示。


▼表1 三类产品的功能特点对比



03基于MPP架构的数据库软件系统


基于MPP架构的数据库软件系统,一般简称为MPP数据库,它是运行在由普通商用服务器组成的服务器集群上,服务器(节点)之间通过网络连接,每一个节点都是独立的、自我管理的,且计算节点的功能是相同的。也就是说,每个节点是一台相对独立的数据库服务器,节点上运行着一个单机操作系统和数据管理系统,用于管理本节点上的资源与数据,即节点资源私有。以基于PostgreSQL的MPP数据库系统Greenplum为例,每个节点上实际运行着一个单机版的PostgreSQL数据库实例。如果是主从模式,由管理节点接收客户端请求并将任务分解分派到多个节点上,在每个节点上完成数据读取和计算后,再将各部分的中间结果汇总到管理节点一起计算,得到最终的结果并返回客户端。如果是环形模式,则每个节点都可以接收客户端的请求,并向其他节点请求数据,待完成汇总计算后将结果返回客户端。MPP数据库架构(主从模式或环形模式)如图2所示。



▲ 图5-2 MPP数据库架构(主从模式或环形模式)


从硬件架构上来说,MPP数据库与Shared Nothing+MPP的数据库一体机是一样的,区别是服务器硬件选择不限定厂商,集群弹性伸缩更灵活,成本更低。在大多数情况下,所有节点都使用相同的硬件和相同的操作系统。


相关推荐

怎么学习大数据?

追忆似水年华 · 652浏览 · 2019-05-24 16:12:08
在线制作数据库ER模型

追忆似水年华 · 1127浏览 · 2019-05-24 16:22:01
大数据云迁移的五大要点

奔跑的男人 · 675浏览 · 2019-05-29 11:21:02
大数据零基础学习hadoop入门教程

· 644浏览 · 2019-06-04 10:30:25
加载中

0评论

评论
各位好,我是无间道,欢迎互助粉丝!
分类专栏
小鸟云服务器
扫码进入手机网页