首页 > 其他分享 >数据仓库MPP架构&分布式架构

数据仓库MPP架构&分布式架构

时间:2023-07-05 10:57:28浏览次数:50  
标签:架构 数据仓库 容错性 MPP 数据 节点 分布式

数据仓库MPP架构&分布式架构

一、MPP架构

1.1MPP架构概述

MPP(Massively Parallel Processing)架构是一种分布式数据处理技术,能够通过将工作负载分散到多个节点上来提高数据处理性能。与传统的共享架构不同,MPP采用非共享架构(Share Nothing),将单机数据库节点组成集群,每个节点拥有独立的磁盘和内存系统,通过专用网络或商业通用网络连接彼此、协同计算,从而提供整体数据处理服务。

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

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

 

1.2MPP架构的优点

1.2.1高性能

MPP架构将数据分散到多个节点上,每个节点拥有独立的处理能力,能够同时处理多个任务,从而大幅提高数据处理性能。同时,其作业调度和数据平衡机制使得计算任务得到充分的利用,优化了数据分布与传输,降低了系统延迟和吞吐量。

1.2.2横向扩展

随着数据规模和复杂度的不断增加,传统单机数据库逐渐无法满足业务需求,MPP架构可以通过增加计算节点、CPU和存储等硬件资源来实现横向扩展,为企业业务提供更好的应用体验。

1.2.3精细管理

MPP架构需要管理分散在多个节点上的数据,因此需要精细的管理和调度机制,从而更好地管理数据流和任务执行过程,并优化数据备份、恢复、压缩和数据清洗等过程。

1.2.4高可用性

MPP架构采用分布式的设计,具有高可用性,当某个节点发生故障时,系统能够自动切换到其他节点,从而保证服务的持续性。

1.3MPP架构的缺点

MPP架构适用于中等规模的企业数据处理场景,已经成为企业数据处理的重要架构之一。但MPP架构也有一些缺点和问题:

1.3.1存储不透明

MPP架构对数据分片需要进行建模和设计,使用某种算法将数据按照某种规则分割,因此存储位置对用户来说不透明。当进行查询时,查询任务需要在所有数据节点上进行执行,这增加了查询的延迟,对于所查询的数据节点的故障处理,也需要考虑到数据恢复的问题。

1.3.2单节点瓶颈

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

 

1.3.2分布式事务

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

 

总之,MPP架构虽然具有高性能、横向扩展等优点,但也存在存储不透明、单节点瓶颈和分布式事务实现等缺点,要根据具体的业务需求进行合理的选择和设计。

二、分布式架构

2.1分布式架构概述

分布式架构是一种将计算任务并发分散到多个计算节点上的计算架构,主要用于处理大规模数据和复杂计算问题。这种架构也常称为大数据架构或分布式批处理架构,并且包含多个具体实现,如Hadoop、Spark等。

具体来说,分布式架构中,各节点都拥有自己的计算能力和存储资源,能够实现场地自治(单独运行局部应用程序)。数据在集群中全局透明共享,且各节点之间都通过局域网或广域网相连,但节点之间通信的开销较大,因此在运算时需要尽量减少数据移动。

在设计上,分布式系统通常会优先考虑分区容错性(Partition Tolerance),其次考虑可用性(Availability),尽量做到一致性(Consistency)。

总之,分布式架构适用于大规模数据处理和复杂计算场景,具有高度的可扩展性和容错性,但也需要解决分布式数据一致性、任务调度和通信开销等问题,同时也需要根据具体的业务需求进行合理的选择和设计。

 

2.2分布式架构优点

2.2.1高吞吐量

分布式架构能够将计算任务分散到多个节点上并行执行,因此具有较高的处理速度和吞吐量。随着集群规模的增大,处理速度将会加快,能够扩展到百万亿级别的数据量。

2.2.2公共存储

分布式架构通常使用公共存储系统如HDFS(Hadoop分布式文件系统)来管理数据,这种存储方式适合存储大规模的异构数据,且具有很好的扩展性和容错性。

2.2.3灵活性

分布式架构具有很好的灵活性,能够容易地增加或减少集群节点,适应不同的业务需求。同时也支持多种编程语言和开源框架,如Hadoop、Spark、Flink等。

三、MPP架构+分布式架构

MPP架构和分布式架构各有其优点和适用场景,在某些场景下也可以结合使用,比如MPP架构提供高性能的并行计算能力,而分布式架构则提供了高度可扩展性和容错性,两者的结合可以形成一种更加完善的大数据处理架构。

具体来说,可以采用分布式架构中的公共存储系统(如HDFS)来管理数据,分散存储到多个节点上实现数据的分区容错性和扩展性。然后在上层架构采用MPP架构,利用MPP的并行计算能力去优化数据查询和计算等任务,从而减少运算延迟,提高处理效率。

当然在具体实现时也需要考虑数据的切分和调度策略等问题,比如如何将数据进行切分以提高MPP计算的并行度,如何提高数据查询的效率等。

标签:架构,数据仓库,容错性,MPP,数据,节点,分布式
From: https://www.cnblogs.com/hole/p/17527936.html

相关文章

  • 技术架构和基础架构
    技术架构和基础架构产品的架构是技术架构负责人明确出来的基础架构负责具体的搭建已经架构层面的一些建议技术架构对于基础架构掌握的要求从产品​ 了解整个产品的架构,架构中组件之间的相互关系​ 了解表结构​ 了解模块功能从行业​ 架构中常见组件的特性、功能、使用......
  • 数据仓库基本概念
    数据仓库基本概念一、数据仓库诞生原因随着互联网的普及,信息技术已经深入到各行各业,并逐步融入到企业的日常运营中。然而,当前企业在信息化建设过程中遇到了一些困境与挑战。1.1历史数据积存过去企业的业务系统往往是在较长时间内建设的,很少进行大面积的改造或者升级,历史数据留......
  • Doris架构包含哪些技术?为什么进行技术整合?
    Doris主要整合了GoogleMesa(数据模型),ApacheImpala(MPPQueryEngine)和ApacheORCFile(存储格式,编码和压缩)的技术。为什么要将这三种技术整合?Mesa可以满足我们许多存储需求的需求,但是Mesa本身不提供SQL查询引擎。Impala是一个非常好的MPPSQL查询引擎,但是缺少完美的分布......
  • 一文读懂:完整的支付系统整体架构!
    支付产品模块是按照支付场景来为业务方提供支付服务。这个模块一般位于支付网关之后,支付渠道之前。它根据支付能力将不同的支付渠道封装成统一的接口,通过支付网关来对外提供服务。所以,从微服务的角度,支付产品本身也是一个代理模式的微服务,它透过支付网关响应业务方请求,进行一......
  • Mac M2 Docker 构建镜像制定运行架构
    错误execuserprocesscaused"execfomaterror"在构建镜像的时候在本机运行没有问题,但是发到服务器上就不行,后来指定服务器对应的运行架构镜像才运行成功dockerbuildxbuild-timageName--platform=linux/amd64.查看服务器的架构信息https://blog.csdn.net/weixin_......
  • 电商系统架构全链路解析
    1、电商系统可能是世界上最复杂的业务系统说个有意思的小事,和一位PM同行聊工作,问我电商做的如何,我说并不是一件易事。对方哈哈一笑,说电商不就那么回事吗,有啥难的,是个PM都能做,我嘿嘿一笑,不作辩解。光说中国电商,发展至今已有20多年的历史,且一直处于高速的发展和竞争当中,时至今......
  • 应用技术架构 —— 分布式应用多运行时架构
    应用技术架构——分布式应用多运行时架构发布于 2022-03-1609:25:141K0举报本文作者:何文强—CODING高级解决方案架构师具有一线互联网、物联网独角兽、全国股份制银行、新型智慧交通等跨行业从业经历,历任Java开发高级工程师、DevOps技术专家......
  • 网络安全开发架构之基于规则引擎的开发架构
    原文合集地址如下,有需要的朋友可以关注本文地址合集地址规则引擎架构常见的表现形式规则引擎架构可以有多种不同的表现形式,以下是一些常见的表现形式:中心化规则引擎中心化规则引擎是指规则引擎的核心逻辑集中在一个中心服务器或平台上。该服务器负责规则的管理、执行和决策......
  • 技术分享| 融合通讯的架构介绍
    在融合通讯中,我们经常听到如下一些术语:MCU服务,SFU架构,MESH架构,星形网络等等。很多客户听到这些数据都是一脸雾水,经常说我们就是要一个可以把多种设备拉到同一个会议中,怎么搞这么复杂。今天我们就来聊聊这些术语都从哪来的,分别都应用在什么地方,我们anyRTC又是如何做的。一.Mesh架......
  • 数据仓库性能测试方法论与工具集
    目录目录目录数据仓库v.s.传统数据库数据仓库性能测试案例性能指标测试方案测试场景测试数据集测试用例性能指标测试脚本工具基准环境准备硬件环境软件环境测试操作步骤Cloudwave执行步骤导入数据集TestCase1.执行13条标准SQL测试语句TestCase2.执行多表联合join拓......