社区编辑申请
注册/登录
终于有人把MPP大数据系统架构讲明白了
大数据 新闻
从资源管理角度来看,当前的大数据系统架构主要有两种:一种是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的数据库一体机是一样的,区别是服务器硬件选择不限定厂商,集群弹性伸缩更灵活,成本更低。在大多数情况下,所有节点都使用相同的硬件和相同的操作系统。​

责任编辑:张燕妮 来源: 数仓宝贝库
相关推荐

2022-06-26 18:52:02

2022-06-17 10:52:01

数据存储采集

2022-06-29 18:31:00

2022-07-01 18:13:51

MPPHadoop大数据

2019-12-12 10:22:16

大数据平台大数据安全大数据

2019-12-24 08:11:39

大数据架构数据开发

2021-03-26 09:49:22

架构并行处理

2014-07-24 09:08:07

大数据平台架构

2022-04-22 11:26:55

数据管理架构

2020-11-30 08:34:44

大数据数据分析技术

2014-03-28 17:30:03

2021-09-29 11:30:01

2018-09-16 15:40:06

2021-11-26 10:48:06

2019-12-12 15:39:28

大数据IT互联网

2021-11-02 09:50:37

2019-08-23 15:55:27

架构大数据BI系统

2014-04-18 17:28:10

数据库

2020-10-22 08:28:04

大数据架构技术

2020-12-09 13:48:37

大数据BI数据平台

同话题下的热门内容

网易数帆开源Arctic:推动湖仓一体落地,驱动业务价值腾讯大数据总体架构图,首次对外公开!数据开发流程规范及数据监控技术管理如何应对混合工作模式转变Arctic开源!网易数帆X华泰证券,推动湖仓一体落地数据分析,如何诊断业务问题2023年及以后工作的十大数据科学独角兽公司中国城市财政收入半年报:上海减收近千亿,长春降幅超四成

编辑推荐

使用Pandas&NumPy进行数据清洗的6大常用方法2018年7款最佳免费数据分析工具pyspark访问hive数据实战【漫谈数据仓库】 如何优雅地设计数据分层人工智能、大数据与深度学习之间的关系和差异
我收藏的内容
点赞
收藏

51CTO技术栈公众号