每日一博 - MPP(Massively Parallel Processing,大规模并行处理)架构

简介: 每日一博 - MPP(Massively Parallel Processing,大规模并行处理)架构


概述



MPP(Massively Parallel Processing,大规模并行处理)架构是一种常见的数据库系统架构,主要用于提高数据处理性能。它通过将多个单机数据库节点组成一个集群,实现数据的并行处理。


在 MPP 架构中,MPP采用非共享架构(Share Nothing), 每个节点都拥有独立的磁盘存储和内存系统,它们在计算过程中独立运行,不需要关心整个集群的状态,也不关心其他节点存储的数据信息。


节点之间通过专用网络或商业通用网络连接,当需要使用其他节点的数据时,通过网络进行数据传输和协同计算。

在设计上,MPP架构优先考虑一致性(Consistency),其次考虑可用性(Availability),同时尽量做到分区容错性(Partition Tolerance)。


MPP架构常用于数据仓库、数据集市、大数据分析等场景,其分布式设计能够有效应对数据规模的不断增长和复杂度的提高,但也会面临一些挑战。




优点

MPP 架构的优点包括:


. 高性能:通过并行处理,MPP 架构可以显著提高数据处理速度。


. 一致性:由于每个节点本质上仍然是数据库,因此 MPP 架构在设计时优先考虑一致性(C),其次考虑可靠性(A),尽量做好分区容错性(P)。这使得 MPP 架构能够保证数据的一致性。


低延迟:MPP 架构中,各个节点的运算延迟相对较低。




缺点


然而,MPP 架构也存在一些缺点:


   扩展性:由于非共享架构,MPP 架构在存储位置上不透明,数据在存储时通过哈希确定物理节点。在执行任务时,无法确定数据的位置,因此查询任务需要在所有节点上执行。这使得 MPP 架构在扩展性方面较差,尤其是在大规模数据处理时,单节点瓶颈会成为整个系统的短板。


   故障率:随着集群规模的增大,节点的故障率会逐渐升高,这将导致整个系统的性能瓶颈越发明显。

   当进行并行计算时,计算任务会被分发到所有节点上进行计算,单节点瓶颈会成为整个系统短板,容错性差,可能会导致整个系统的响应缓慢。另外,MPP架构本身的节点数和数据量较大,节点故障成本也较高。

d1e21226efd642309b9751ae4f048c8e.png



  • 分布式事务:MPP 架构一般致力于实现分布式事务,但在分布式环境中实现事务后,扩展性一定会受到影响。

MPP架构由于节点之间分散存储,远程调用在事务处理时会有延迟,而一些事务操作需要跨越多个节点进行处理,这时分布式系统的事务处理会变得很复杂,影响系统的可扩展性。


65bbdb83c50048c0b530cb1195032867.png



小结


总之,MPP 架构是一种高性能的数据库系统架构,适用于中等规模的结构化数据处理。尽管它存在一些局限性,但在某些场景下,其性能优势仍然使其成为一个有吸引力的选择。

相关实践学习
使用CLup和iSCSI共享盘快速体验PolarDB for PostgtreSQL
在Clup云管控平台中快速体验创建与管理在iSCSI共享盘上的PolarDB for PostgtreSQL。
AnalyticDB PostgreSQL 企业智能数据中台:一站式管理数据服务资产
企业在数据仓库之上可构建丰富的数据服务用以支持数据应用及业务场景;ADB PG推出全新企业智能数据平台,用以帮助用户一站式的管理企业数据服务资产,包括创建, 管理,探索, 监控等; 助力企业在现有平台之上快速构建起数据服务资产体系
相关文章
|
4天前
|
Kubernetes 物联网 数据中心
大规模 IoT 边缘容器集群管理的几种架构 -2-HashiCorp 解决方案 Nomad
大规模 IoT 边缘容器集群管理的几种架构 -2-HashiCorp 解决方案 Nomad
|
4天前
|
存储 运维 物联网
【专栏】OceanBase 是一款先进的分布式数据库系统,以其分布式架构、高扩展性、高可用性和强一致性特点,应对大规模数据处理挑战
【4月更文挑战第29天】OceanBase 是一款先进的分布式数据库系统,以其分布式架构、高扩展性、高可用性和强一致性特点,应对大规模数据处理挑战。它支持混合负载,适用于金融、电商和物联网等领域,提供高性能、低成本的解决方案。尽管面临技术复杂性、数据迁移和性能优化等问题,通过合理策略可克服挑战。随着技术发展,OceanBase 在数字化时代将持续发挥关键作用。
|
4天前
|
存储 边缘计算 Kubernetes
大规模 IoT 边缘容器集群管理的几种架构 -6- 个人体验及推荐
大规模 IoT 边缘容器集群管理的几种架构 -6- 个人体验及推荐
|
4天前
|
边缘计算 Kubernetes 物联网
大规模 IoT 边缘容器集群管理的几种架构 -0- 边缘容器及架构简介
大规模 IoT 边缘容器集群管理的几种架构 -0- 边缘容器及架构简介
|
4天前
|
运维 Kubernetes 物联网
大规模 IoT 边缘容器集群管理的几种架构 -1-Rancher+K3s
大规模 IoT 边缘容器集群管理的几种架构 -1-Rancher+K3s
|
4天前
|
Kubernetes 安全 物联网
大规模 IoT 边缘容器集群管理的几种架构 -3-Portainer
大规模 IoT 边缘容器集群管理的几种架构 -3-Portainer
|
4天前
|
边缘计算 运维 Kubernetes
大规模 IoT 边缘容器集群管理的几种架构 -4-Kubeedge
大规模 IoT 边缘容器集群管理的几种架构 -4-Kubeedge
|
4天前
|
Shell Android开发
Android系统 adb shell push/pull 禁止特定文件
Android系统 adb shell push/pull 禁止特定文件
34 1
|
4天前
|
Android开发 Python
Python封装ADB获取Android设备wifi地址的方法
Python封装ADB获取Android设备wifi地址的方法
64 0
|
8月前
|
开发工具 Android开发
Mac 安卓(Android) 配置adb路径
Mac 安卓(Android) 配置adb路径
235 0