MPP概述

article/2025/10/22 21:18:16

什么是MPP

MPP (Massively Parallel Processing),即大规模并行处理,在数据库非共享集群(传统的单节点不属于集群,双机热备或Oracle RAC等,均是基于共享存储的)中,每个节点都有独立的磁盘存储系统和内存系统,业务数据根据数据库模型和应用特点划分到各个节点上,每台数据节点通过专用网络或者商业通用网络互相连接,彼此协同计算,作为整体提供数据库服务。非共享数据库集群有完全的可伸缩性、高可用、高性能、优秀的性价比、资源共享等优势。

 

简单来说,MPP是将任务并行的分散到多个服务器和节点上,在每个节点上计算完成后,将各自部分的结果汇总在一起得到最终的结果(与Hadoop相似)。

 

个人理解:

    1. MPP本质上是(基于)数据库,基于传数据库并区别于传统单节点数据库,支持多节点分布式存储和计算。(另外,并不是所有的数据库集群方案都是基于分布式存储的)
    2. MPP应该是多用作数据仓库,支撑查询和分析类应用场景。(个人理解)。
    3. 如果用关系型数据库(例如Mysql),搭建一个分布式存储和计算的多节点集群,就基本形成了一个MPP数据库系统。(例如MySQL安装时就提示选择OLAP或OLTP,后文有截图)

 

MPP与Oracle RAC

下面两张图描述Oracle RAC是基于(网络)共享存储的,MPP是各节点分别带计算(有cpu和内存)和存储(有磁盘)的。

图 Oracle RAC集群架构图

 

https://img-blog.csdn.net/20180607153205548?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQyMTg5MDgz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70

图 MPP 架构

MPP与Hadoop

谈到MPP,就要提及Hadoop。MPPDB与Hadoop都是将运算分布到节点中独立运算后进行结果合并(分布式计算),但由于依据的理论和采用的技术路线不同而有各自的优缺点和适用范围。(个人理解:MPP应该是传统数据库方案/厂商升级转型的产物,而Hadoop是Google开源后形成的另一条技术路线的产物)。

两种技术以及传统数据库技术的对比如下:

 

OLTP和OLAP

OLTP(On-line transaction processing):在线事务处理/联机事务处理。

OLAP(On-Line Analytical Processing): 在线分析处理/联机分析处理。

简述

数据处理大致可以分成两大类:联机事务处理OLTP(on-line transaction processing)、联机分析处理OLAP(On-Line Analytical Processing)。OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。

 

OLTP 系统强调数据库内存效率,强调内存各种指标的命令率,强调绑定变量,强调并发操作;

OLAP 系统则强调数据分析,强调SQL执行市场,强调磁盘I/O,强调分区等。

OLTP与OLAP之间的比较:

https://img-my.csdn.net/uploads/201212/08/1354896501_9646.jpg

 

OLTP和OLAP在实际场景中的应用:传统的INSERT、Update、DELETE等都属于OLTP,主要是涉及事务处理,SELECT中的count(*)、MAX()、MIN()、Group By、Order By等函数都属于OLAP的范畴

 

总的来说,先有OLTP,然后才发展OLAP。目前主流的关系型数据库(Oracle、SQLServer、MySQL等均同时具有两者的特征。

以Mysql为例,Mysql安装时,会有 Decision Support(DSS)/OLAP(决策支持)和Online Transaction Processing(OLTP)(联机事务分析)等选项,如下图所示:

 

发展历史

OLTP和OLAP的发展是伴随关系型数据库的发展一起发展的。

https://upload-images.jianshu.io/upload_images/11389623-6346cd717d1d5f86.png

60年代,关系数据库之父E.F.Codd提出了关系模型,促进了联机事务处理(OLTP)的发展(数据以表格的形式而非文件方式存储)。1993年,E.F.Codd提出了OLAP概念,认为OLTP已不能满足终端用户对数据库查询分析的需要,SQL对大型数据库进行的简单查询也不能满足终端用户分析的要求。用户的决策分析需要对关系数据库进行大量计算才能得到结果,而查询的结果并不能满足决策者提出的需求。因此,E.F.Codd提出了多维数据库和多维分析的概念,即OLAP。

  在过去的十年当中,根据Codd的关于OLAP的十二条准则,OLAP技术有了很大的发展,市场上的各种OLAP产品可以说是层出不穷。在开始探讨OLAP 技术的新方向之前,我们有必要回顾一下OLAP技术在过去一段时间的发展和演化:

  1970年 第一个OLAP工具Express出现,后来被ORACLE公司收购并重写,但是在此时已经奠定了它的雏形。

  1982年 Comshare出现,它应该算是一个面向金融行业的OLAP工具,熟悉IBM解决方案的朋友应该对这个名称比较熟悉,在数据仓库刚进入中国之初,comshare还是势头很猛,目前只在IBM的主机市场上出现了。

  1984年,第一个基于Mac的ROLAP工具metaphor出现,由于该产品在当时昂贵的价格以及以后Mac机用户市场的下滑,现在已经没有人在使用这个东西了。

  1985年pilot面世,这是第一个高举着EIS旗帜的OLAP供应商,属于典型的C/S结构,主机为Vax也算是把 OLAP向用户更加推进了一步。不过遗憾的是好像没有进入中国市场。

  1990年 cognos Powerplay终于出现,把OLAP技术又向前推进了一步,一方面提出desktop olap的概念,同时也是第一个基于windows的OLAP工具。为OLAP提供了更加强劲的可扩展性。

  1991年 IBM收购了metaohor,成为第一个转手的OLAP产品,虽然没有什么太大的影响,但是也算是为OLAP产品的收购开了先河。

  1992年 Essbase发布,当时应该还是Arbor公司,但是在当时谁都没有想到它会成为后来的市场领先者。

  1993年 划时代的一年,Codd博士发表了关于OLAP的白皮书,传统上一般都会认为这是OLAP技术开始发展的一年,其实在此之前,已经有如此多的厂商尝试过这个领域了。但是白皮书发表过之后,越来越多的人开始理解多维分析的概念。

  1994年 MicroStrategy 发布,这是第一个完全基于关系型数据库的OLAP工具,所有的olap请求都被后台分割成一个或者多个SQL语句来执行。可以说是OLAP技术和关系数据库技术的第一次亲密接触。

  1995年 holos 4.0发布,这个产品应该是第一个混合性的OLAP工具,目前holos属于Crystal Decisions

  1995年 Oracle 收购Express,这是业界第一个大型的产品收购,同时也是第一数据库厂商对OLAP技术市场的冲击,这次收购对其他数据库厂商的触动很大。后来几乎每一家数据库厂商都成为数据仓库市场的强劲竞争者。

  1996年,BO 4.0发布,第一个同时支持OLAP和关系型数据库查询报表的工具,这再一次拉近了关系型数据库和多维OLAP分析的距离,意味着用户以后有可能不需要购买OLAP的专业展现工具了。

  1997年,也就是这一年,MicroSoft又一次尝试统一标准,发布了OLE DB标准,虽然没有正式产品发布,但是这使OLAP领域第一次有了一个统一的标准。现在的OLAP展现软件大多都支持这个标准。

  1998 IBM姗姗来迟,推出自己的OLAP解决方案,其间OEM了EssBase作为OLAP Server的引擎,曾经尝试把MOLAP结构保存在关系型数据库当中,遗憾的是,这个很好的想法在当时没能很好的实现,极差的性能导致IBM也不怎么推荐它的这一款产品。另一方面IBM开始在中国全面推行它的商业智能的概念。在国内掀起了一次数据仓库的热潮。

  1998年,Hyperion公司与Arbor公司合并,这可能是业界的一次比较巨大的公司合并,Hyperion公司再此之后,一跃成为OLAP市场的领头羊,并持续保持领先位置。

  1999年 在这一年,一共发生了两件事情,一件是Microsoft的Plato正式面世,这一随SQL Server 7免费赠送的策略,让数据仓库放下它昂贵的架子,让越来越多的人能够熟悉和使用它。另外一件事就是在国内如日中天的Platinum被CA 收购,而再此之前Platinum刚刚收购了一家OLAP工具叫做Prodea Beacon,而这也创出了软件企业收购的记录35亿美金,次年,CA又收购了另外一家 数据仓库厂商 Sterling,从此CA正式进入OLAP市场。

  2000年,在SQL2000中,Microsoft把Plato改名为Analysis Services.

  2001年,ORACLE推出ORACLE 9i OLAP Option,实现了把多维数据库保存在关系型数据库当中的承诺。成为业界第一个实现这种功能的产品。OLAP技术终于可以和关系型数据库完全融合在一起了,在接下来的9i第二版当中,这个特性更是被发挥的淋漓尽致。

MPP应用方向

MPP和Hadoop均可作为在数据的存储和计算基础平台。

Hadoop和MPP两种技术的特定和适用场景为:

● Hadoop在处理非结构化和半结构化数据上具备优势,尤其适合海量数据批处理等应用要求。

● MPP适合替代现有关系数据机构下的大数据处理,具有较高的效率。

MPP适合多维度数据自助分析、数据集市等;Hadoop适合海量数据存储查询、批量数据ETL、非机构化数据分析(日志分析、文本分析)等。

由上述对比可预见未来大数据存储与处理趋势:MPPDB+Hadoop混搭使用,用MPP处理PB级别的、高质量的结构化数据,同时为应用提供丰富的SQL和事物支持能力;用Hadoop实现半结构化、非结构化数据处理。这样可以同时满足结构化、半结构化和非结构化数据的高效处理需求。

 

https://img-blog.csdn.net/20180607153301340?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQyMTg5MDgz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70


http://chatgpt.dhexx.cn/article/Lu3BFpFH.shtml

相关文章

粒子群算法(PSO)光伏发电 MPPT实现多峰值寻优,阴影遮蔽光伏发电算法 使用s函数编写粒子群算法,阴影遮蔽,实现多峰值寻优

粒子群算法(PSO)光伏发电 MPPT实现多峰值寻优,阴影遮蔽光伏发电算法 使用s函数编写粒子群算法,阴影遮蔽,实现多峰值寻优,解决经典mppt算法会形成局部最优的问题,追踪到最大峰值功率输出。 粒子群…

基于PSO粒子群算法的MPPT最大功率跟踪Simulink仿真,PSO采用S函数实现

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 MPPT控制器的全称是“最大功率点跟踪”(Maximum Power Point Tracking)太阳能控制器,是传统太阳能充放电控制器的升级换代产品。MPPT控制器能够实时侦测太阳能…

理解MP算法

转载:http://blog.csdn.net/u010103202/article/details/50932936 2.MP算法 作为一类贪婪算法,MP算法的基本思路是在迭代中不断找寻最有测量矩阵列来逼近被表示向量,继而寻得最优的稀疏逼近,使得x与y的残差最小。对于…

matlab simulink光伏发电系统MPPT算法

1、内容简介 略 553-可以交流、咨询、答疑 2、内容说明 世界各国能源需求的不断增长,以及传统能源资源的消耗和对环境的不良影 响,促使社会寻找替代能源。因此光伏发电成为研究热点之一,在对光伏电池的 研究中最大功率点追踪 (Maximum Pow…

MP算法与OMP算法

稀疏编码的一般最优化公式为: 其中的零范数为非凸优化。那么如何解这么一个非凸优化问题呢?其中一个常用的解法就是MP算法。 MP算法 MP算法是一种贪心算法(greedy),每次迭代选取与当前样本残差最接近的原子&#xff0…

光伏并网MPPT算法控制解析

01 MPPT介绍 太阳能光伏发电是当前利用新能源的主要方式之一,光伏并网发电的主要问题是提高系统中太阳能电池阵列的工作效率和整个系统的工作稳定性,MPPT(Maximum power point tracking,最大功率点跟踪)是太阳能光伏发电系统中的…

MPC算法

MPC算法 一. 引言 在工程技术方面,MPC全称可指Model Predictive Control模型预测控制(又称RHC, Receding Horizon )。 模型预测控制算法 一种进阶过程控制方法,自1980年以来开始在化工炼油等过程工业得到应用,并在经…

MP算法和OMP算法及其思想与实现

主要介绍MP(Matching Pursuits)算法和OMP(Orthogonal Matching Pursuit)算法[1],这两个算法虽然在90年代初就提出来了,但作为经典的算法,国内文献(可能有我没有搜索到)都仅描述了算法步骤和简单的应用,并未对其进行详尽的分析&…

MP算法

MP算法 MP算法是一种贪心算法(greedy),每次迭代选取与当前样本残差最接近的原子,直至残差满足一定条件。 求解方法 首先解决两个问题,怎么定义“最接近原子”,怎么计算残差? 选择最接近残差的原…

MP算法和OMP算法及其思想

主要介绍MP(Matching Pursuits)算法和OMP(Orthogonal Matching Pursuit)算法[1],这两个算法虽然在90年代初就提出来了,但作为经典的算法,国内文献(可能有我没有搜索到)都仅描述了算法步骤和简单的应用,并未对其进行详尽的分析&…

学习笔记2 光伏MPPT算法

目录 前言1. 光伏电池的分类1.1 按照电池结构分类1.2 按照电池材料分类: 2. 光伏电池模型及光伏特性曲线2.1 光伏电池模型2.2 光伏特性曲线 3. 影响光伏电池输出特性曲线的两个主要因素3.1 光照的影响3.1.1 光照对I-V曲线的影响3.1.2 光照对P-V曲线的影响3.1.3 光照对P-I曲线的…

光伏发电最大功率点跟踪MPPT(粒子群算法)

光伏电池作为太阳能发电的核心部件,实现了太阳能到电能的转换,但是由于光伏电池器件本身的复杂性以及现如今光电材料的限制,光伏电池的转换效率总体来说还是比较低,而且其输出还是非线性的,并且光照强度和外界温度对其…

光伏逆变器MPPT基本算法介绍-李星硕

前言 在上一个话题中,我们阐述了光伏MPPT基本原理:从本质上来说,MPPT算法均是通过DC-DC的占空比d来进行控制的。至于如何计算占空比d的值,则取决于具体的MPPT算法。那么在本话题中,我们将介绍两种基本的MPPT算法&#…

MPPT算法(恒定电压、扰动观察、电导增量)介绍与实现过程

目录 1、太阳能板的特性曲线 2、固定电压法 3、MPPT-P&O算法 4、电导增量算法 5、系统实现方案 1、太阳能板的特性曲线 太阳能板也叫光伏电池。是通过光电效应,把光能转换为电能的设备。 先介绍太阳能板的特性。太阳能的额定参数是在地面光伏组件标准测试…

嵌入式怎么入门,嵌入式应该先学习什么

嵌入式到底是什么,很多对这个概念都很迷糊,许多人都认为这是工程师的代名词。 嵌入式工程师可以说是目前涵盖面最广、最火的职业之一,那么到底什么是嵌入式呢? 狭义上嵌入式系统由硬件和软件组成.是能够独立进行运作的…

嵌入式通用学习路线整理

大家好,我是小麦。 从事嵌入式相关行业,差不多快有10年时间了,走过很多弯路,踩过很多坑。 很多人会问,嵌入式真的没有前途吗?这个我其实也无法回答。用发展的眼光来看,万物都有周期。 这个和嵌入…

嵌入式学习(一)嵌入式c语言

第一章.c数据类型及语句 1.01 第一个c程序的编写 下载好VScode并配置好环境&#xff0c;可以开始进行第一个c程序的编写。 #include <stdio.h>int main(int argc,char *argv[]) {printf("Hello World!\n");return 0 ; } 需要注意的几点&#xff1a; 1.#inclu…

嵌入式学习难吗?

首先来说&#xff0c;学习任何一门技术都有它难的地方。如果说嵌入式学习难&#xff0c;那它就难在于嵌入式知识比较综合&#xff0c;比如C语言、数据结构、通信原理、单片机、数字电路、 arm体系、驱动开发、系统移植、Lora&#xff0c;NB-IOT等&#xff0c;大学里开过很多课都…

嵌入式学习(一)—— 初步认识

嵌入式学习&#xff08;一&#xff09;—— 初步认识 一、认识嵌入式二、嵌入式学习内容1.C语言学习2. 模拟电路&#xff0c;数字电路基础- 模拟电路- 数字电路 3. 硬件知识掌握4. 裸机开发5. 认识使用外设模块6. OS学习7.Linux开发板学习8.应用层学习9. PCB学习 三、推荐网站及…

嵌入式学习笔记

ARM &#xff1a;Advanced RISC Machine RISC&#xff1a;精简指令集 EMCU&#xff1a;Embedded Micro Controller Unit 嵌入式微控制器 EMPU &#xff1a;Embedded Micro Processor Unit 嵌入式微处理器 EDSP &#xff1a;Embedded Digital SIgnal Process 嵌入式数字信号处理…