

终于有人把MPP大数据系统架构讲明白了
source link: https://www.51cto.com/article/712093.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

终于有人把MPP大数据系统架构讲明白了-51CTO.COM
本文首先回顾并行硬件架构的发展,并进一步介绍基于并行硬件架构的数据库一体机系统与基于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的数据库一体机是一样的,区别是服务器硬件选择不限定厂商,集群弹性伸缩更灵活,成本更低。在大多数情况下,所有节点都使用相同的硬件和相同的操作系统。
Recommend
-
13
导读: 知识图谱的概念诞生于2012年,由Google公司首先提出。知识图谱的提出是为了准确地阐述人、事、物之间的关...
-
4
【编者的话】2015年阿里巴巴提出“大中台,小前台”的中台战略,通过实施中台战略找到能够快速应对外界变化,整合阿里各种基础能力,高效支撑业务创新的机制。阿里巴巴中台战略最早从业务中台和数据中台建设开...
-
6
互联网金融是传统金融业务与新兴互联网技术结合的一个交叉领域,例如互联网公司开展的金融业务,或者金融机构的线上化服务,都属于互联网金融的范畴。与传统金融行业的线下模式相比,互联网金融以网络和通信技术为载体,受众群体更广,辐射场景更多,服务效率更...
-
8
终于有人把用户画像的流程、方法讲明白了 发布者: 91运营 2021-07-14...
-
9
终于有人把分布式系统架构讲明白了 - 华章IT的个人空间 - OSCHINA - 中文开源技术交流社区 导读:随着互联网的不断发展,企业积累的数据越来越多。当单台数据库难以存储海量数据时,人们便开始探索如何将这些数据分散地存储到多台服务器的多台...
-
4
TCP(Transmission Control Protocol,传输控制协议) 是计算机网络的的重要组成部分,也是网络编程的重要内容,还有我们平时接触最多...
-
6
终于有人把“嵌入式人工智能”讲明白了 2022-02-23 17:03:18 人工智能 嵌入式人工智能是个很有意思的概念。之前隔一段就要听到要工作或者要考研的...
-
7
正如前面所述,云计算是一种基于云的计算方式,这里的云指的是通过网络连接的软硬件资源。依赖互联网,可以将各种共享的软硬件资源分配给多个计算机以及其他终端使用,这使得终端设备可以将耗费计算资源多的应用程序、计算过程放到云上进行,大大增加了终端设备...
-
4
终于有人把云原生架构讲明白了 EASYOPS_youwei · 大约1小时之前 ·...
-
3
终于有人把灰度发布架构设计讲明白了-51CTO.COM 终于有人把灰度发布架构设计讲明白了 2022-08-08 08:39:51 灰度发布系统的作用,可以根据配置,将用户的流量导到新上线的系统上,来...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK