立即注册 登录
About云-梭伦科技 返回首页

mrcui的个人空间 https://www.aboutyun.com/?43727 [收藏] [复制] [分享] [RSS]

日志

海量并行处理系统MPP使用场景

已有 3044 次阅读2016-7-8 11:44 |个人分类:原理类

1.1 编写目的

使读者了解MPP一般典型使用场景以及在使用场景中注意事项。

1.2 阅读对象

本文档适用于MPP数据库开发人员、数据设计人员、维护人员、售前人员、销售人员等具备一定理论素质和实践经验的人员。

1.3 数据仓库相关概念

数据仓库(DataWarehouseDW):是一个面向主题、集成、时变、非易失的数据集合,是支持管理部门的决策过程(WHInmon)。数据仓库具备以下四个关键特征:面向主题(Subject Oriented)的数据集合;集成Integrated)的数据集合;时变(Time Variant)的数据集合;非易失(Nonvolatile)的数据集合。根据数据仓库所管理的数据类型和它们所解决的企业问题范围,一般可将数据仓库分为下列3种类型:操作型数据库(ODS)、数据仓库(DW)和数据集市(DM)。

操作型数据库(ODS):既可以被用来针对工作数据做决策支持,又可用做将数据加载到数据仓库时的过渡区域。与DW 相比较,ODS 有下列特点:ODS 是面向主题和面向综合的;ODS 是易变的;ODS 仅仅含有目前的、详细的数据,不含有累计的、历史性的数据。

数据仓库(DW):为通用数据仓库,它既含有大量详细的数据,也含有大量累赘的或聚集的数据,这些数据具有不易改变性和面向历史性。此种数据仓库被用来进行涵盖多种企业领域上的战略或战术上的决策。

数据集市(DM):是数据仓库的一种具体化,它可以包含轻度累计、历史的部门数据,适合特定企业中某个部门的需要。

SMPSymmetrical Multi-Processing 系统。

MPPMassive Parallel Processing 海量并行处理系统.

2   MPP数据库在数据处理中的位置

In pioneer days they used oxen for heavy pulling, and when one ox couldn’t budge a log,they didn’t try to grow a larger ox. We shouldn’t be trying for bigger computers, but for more systems of computers.

—Grace Hopper

古代,人们用牛来拉重物。当一头牛拉不动一根圆木时,他们不曾想过培育更大更壮的牛。

同样:我们也不需要尝试开发超级计算机,而应试着结合使用更多计算机系统

格雷斯.霍珀

以上这句话形象的描述了MPP架构数据库对数据的处理方式。

2.1 数据规模发展与MPP的出现


                                          1  MPP数据库出现在海量数据处理场景中

 

2.2 数据仓库选用MPP的原因

数据仓库之父 W.H.Inmon 曾对数据仓库作了这样的描述:“数据仓库是九十年代信息技术构架的新焦点,它提供集成化的和历史化的数据;它集成种类不同的应用系统;数据仓库从发展和历史的角度来组织和存储数据,以供信息化和分析化处理之用”。这里要强调的是必须将业务系统和数据仓库分开。两者功能不同,要求迥异。虽然业务系统为数据仓库提供数据。但决不能将数据仓库建立在业务系统之上。一来两者所存的数据不同。业务系统是存储实时数据的地方;数据仓库可能更关心的是整个历史数据。两者的数据传递不是简单的复制,而是一个可能是比较复杂的转换和传递过程。二来,这样做对业务系统的影响太大。不仅会对数据的安全性造成一些不可预测的影响,还会影响业务系统的性能。查询请求会使系统不堪重负,响应速度降低,严重时甚至导致系统的崩溃,使业务系统瘫痪。所以必须将两者分开。

    数据仓库的作用主要在于通过对大量数据的分析,得出需要的统计结果。还可以找出其潜在的关系,从而作出正确的判断。应对海量数据,数据仓库的计算机系统首先必须得有一台不仅性能卓著,而且可扩展性也很好的主机。对称多处理器系统 (Symmetrical Multi-Processing) 系统的 CPU 数增加到一定数目后,对系统性能的提高已十分有限,甚至会起反作用。所以,主机的选用,一定要有非常好的线性增长性, 海量并行处理系统(Massive Parallel Processing),简称为 MPP系统运行在Shared-Nothing的硬件环境中,因此多个处理器不共享CPU、内存或磁盘,使用Multi-Purpose Parallel Computing(MPPC)技术,它比传统的Symnetric Multiprocessor(SMP) 减少了资源竞争,使得性能随节点数的增加而线性上升。

 

3   MPP适用场景分析

MPP应用在不同的行业中,按照应用系统的不同来区分使用场景,无法从理论和系统的区分场景的本质区别,按照数据存储的不同层次来区分场景是比较理想的场景分析方法。

为了保证业务系统的性能同时实现数据的共享、数据分析的需要,将数据存储层的数据分为三个层次:操作数据ODS层、数据仓库DW基本数据层、数据集市DM层。MPP数据库一般运行于数据仓库DW基本数据层和数据集市DM层。

因为各个MPP数据库公司设计上的差别,对DW/DM的在物理建设上建议不同,某些比较成熟MPP建议DW/DM层使用同一套物理集群,避免两个数据层之间过多的数据传输和复制,提升数据访问效率。

3.1 MPP运行在DW数据层

1、  ETL工具通过收取来自业务系统的交易数据、外部数据,通过数据清洗后,通过文本数据加载的方式 灌入到MPP数据仓库。

2、  MPP数据进行库内数据统计分析、批量任务处理后的结果集数据保存在MPP数据库中;

MPP主要有以下功能和作用:

3.1.1    数据存储功能

1、      DW整合所有企业内外数据源,基于企业完整的数据架构进行建设,

储有大量详细的数据;

2、      大量累赘的或聚集的数据,这些数据具有不易改变性和面向历史性;

3、      数据仓库被用来进行涵盖多种企业领域上的战略或战术上的决策;

4、      数据结构清晰,基于业务对象,易于理解,基于主题建模的明细数据和

部分汇总数据,是新的系统的业务数据库和数据计算、企业报表的数据源,是对外数据的统一接口;

5、共享数据层包含业务共享数据、主数据、系统数据、流程数据和元数据。

3.1.2    数据加工批处理为DM和前端展示提供基础数据

数据加工方式:

1、  数据来源采用文本批量加载的方式;

2、  数据入库后按照数据仓库的建库业务逻辑进行库内运算、统计、分析再次入库;

典型模型和SQL参考4MPP典型数据模型章节。

3.1.3    执行实时分析任务R-OLAP应用

数据输入采用批量加载的方式,因数据加载会占用服务器硬件的I/O资源,所以MPP采用批处理的运行方式,后台统计作业,作业结果以数据统计结果集的方式存储在DW中,该层的实时R-OLAP应用应该在设计上避免发生,而是以作业方式后台执行。如果临时的R-OLAP应用,要取得好的效果,需要停掉后台的数据加载等占用资源较重的作业。

实时分析任务所使用的SQL一般与批量统计的SQL语句一致,执行计划相当。


路过

雷人

握手

鲜花

鸡蛋

全部作者的其他最新日志

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 立即注册

关闭

推荐上一条 /2 下一条