浪潮云海Insight 分布式并行数据库(MPP)技术白皮书_第1页
浪潮云海Insight 分布式并行数据库(MPP)技术白皮书_第2页
浪潮云海Insight 分布式并行数据库(MPP)技术白皮书_第3页
浪潮云海Insight 分布式并行数据库(MPP)技术白皮书_第4页
浪潮云海Insight 分布式并行数据库(MPP)技术白皮书_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

浪潮云海InsightMPPV4技术白皮书浪潮云海Insight分布式并行数据库(MPP)技术白皮书版本:V4.0

尊敬的用户:衷心感谢您选用了浪潮云海Insight产品!本文档介绍了浪潮云海Insight产品的功能、技术规格等,可使用户更好地了解本产品的各种特性,充分发挥本产品的作用。浪潮拥有本文档的版权。未经浪潮许可,任何单位和个人不得以任何形式复制文档内容的部分或全部。浪潮保留随时修改本文档的权利。本文档中的内容如有变动恕不另行通知。如果您对本文档有疑问或建议,请向浪潮垂询。浪潮

目录TOC\o"1-5"\h\z\u第一章产品概述 11.1需求及背景 11.2产品定位 11.3产品价值 21.4产品特性 21.5产品应用场景 31.5.1批处理ETL 31.5.2在线服务应用 4第二章总体架构 52.1架构图 52.2组件说明 5第三章产品功能 73.1.1ZooKeeper 73.1.1.1功能描述 73.1.1.2架构原理 83.1.1.3特性 93.1.2Greenplum 93.1.2.1功能描述 93.1.2.2架构原理 103.1.2.3特性 11第四章对外接口 13第五章规格指标 14第六章部署规划 15产品概述需求及背景为了应对行业转型和产业升级的需要,政府和企业客户开始越来越多的向大数据运营模式转型,将MPP(MassivelyParallelProcessing)技术平台引入到IT建设中,使其逐步成为IT系统中核心级、平台级的组成部分。而开源版本的MPP架构的Greenplum,各个组件更新升级频繁,品质不稳定,缺乏技术支持,距离落地为企业级产品仍然有很大差距。这些问题会导致整个大数据基础环境总体稳定性和性能指标不高,总体拥有成本不低反高。浪潮基于丰富的行业大数据实践经验,选择符合主流技术发展方向的开源组件,并进行功能增强、性能优化、统一管理、安全保障等,发布了企业级大数据平台云海InsightMPP。云海InsightMPP交付了MPP的核心元素——可扩展的存储和分布式的计算,以及所有必需的企业级支持能力比如安全、高可用性和广泛的硬件软件方案相集成。对那些寻找一个稳定的、有历史经验证明的及开源的大数据管理方案,并且避免专有供应商锁定的政府部门或企业单位来说,云海InsightMPP是使得其用户组织既可以在生产中可靠地使用MPP,同时又可以从开源社区借助到持续无穷创新的最佳方案。产品定位云海InsightMPP是MPP发行版,提供政府或企业大数据处理环境,无缝集成了MPP架构的Greenplum组件,提供PB级海量数据存储、查询、分析和挖掘能力。作为业界领先的企业级分布式大数据处理环境,云海InsightMPP除了包含业界流行的基于开源Greenplum及其生态组件构建的核心,还包含了很多为支撑企业级业务的高级管理特性。借助于云海InsightMPP成熟的整体方案,政府或企业可以放心将数据整合在云海InsightMPP进行数据创新,进而专注于自己的业务能力。产品价值云海InsightMPP以Greenplum生态体系为主线,通过构建大规模分布式存储与计算集群,实现政府或企业用户内外部多源信息的融合采集、数据组织与管理、数据存储与计算等处理过程,深度挖掘海量数据的全新价值并实现海量数据的高效分析与利用。通过跨区域、跨部门、全业务联动、多信息轨迹即时跟踪和信息共享,全面提升数据共享和信息联动运转效率,进一步为用户业务管理、预警监测、宏观决策等方面提供强有力的信息化支撑。从宏观层面,将有利于快速促进我省大数据的发展,结合国家深入推进的“互联网+”行动计划,实现为众行业、多区域、广企业等提供大数据支撑,有利于推动大数据产业与应用行业形成融合发展的新模式,实现更多商业创新。通过多源数据融合与“互联网+”的交叉运用,打造大数据运营生态环境,促进我省信息产业快速转型升级,推进跨界融合发展,形成我国新的产业发展模式,拉动社会就业,培养大数据人才,打造新的经济增长点。产品特性云海InsightMPP将MPP无共享架构的Greenplum生态系统的力量带给客户,产品具有如下关键特性:灵活性可以存储任意类型的数据并可以使用多种不同的处理框架对数据进行处理,如批处理、交互式SQL、文本查询、机器学习和统计分析计算。集成化快速建立并快速运行于一个完整的包装好的基于Greenplum的系统。安全性方便处理和控制敏感的数据,提供多租户的运行保护机制。可扩展为广泛的应用提供运行设施,并随着业务成长支持灵活弹性扩展。高可用可以应对多任务高负载的应用场景,保证集群的稳定。支持主备集群的双活容灾,主备集群可同时对外提供服务,其中主集群可支持读写、续写服务,备集群仅支持读服务。兼容性扩充和利用现有的基础架构,保护投资。开放性受益于高速的创新,并且无需受制于专有供应商的锁定。产品应用场景大数据的典型应用场景主要有:批处理(ETL)在线服务批处理ETL批处理的特点是处理时间窗口比较长,通常输入输出的数据量都比较大,诸如数据的装载、转换以及清洗等等。批处理的数据源一般会来自于传统的OLTP系统、数据仓库、客户关系库或是一些线上的应用服务器。MPP架构的Greenplum是一个可以并行计算的大数据平台,它为商业智能(BusinessIntelligence)和决策提供数据分析引擎。工作模式为:从不同的原始数据源集中汇总数据,对这些数据进行分析和计算,以及帮助上层BI应用生成报表。Greenplum的ETL工具GPLOAD,除了满足高速数据加载的需求外,还可以完成很多数据转换操作。GPLOAD是基于GPFDIST的加载工具,用户只需要在yaml配置文件中描述需要的任务(源数据位置、格式、目标表信息及控制参数等),就可由GPLOAD完成具体的加载工作。具体工作流程图如下:在线服务应用与传统的在线应用相比,基于Greenplum的方案优势在于:良好的水平可扩展性、高可靠性及高并发性。在线应用的数据源主要有两种:一种是存量数据,来源于DW或者一些备份库上;还有一种来自于线上系统实时产生的数据。对于存量数据通过批处理引擎加载进Greenplum库。对于实时数据,Greenplum通过实时的数据加载方式,实现数据仓库的实时更新,进而实现动态数据仓库(ADW)。总体架构架构图组件说明InsightMPP包含Manager和众多组件,分别提供功能如下:Manager为InsightMPP提供高可靠、安全、容错、易用的集群管理能力,支持大规模集群的安装部署、监控、告警、用户管理、权限管理、审计、服务管理、健康检查、问题定位、升级、补丁等。ZooKeeper提供分布式、高可用性的协调服务能力。帮助系统避免单点故障,从而建立可靠的应用程序。Greenplum采用MPP并行处理架构,由很多个数据节点(SegmentHost)和控制节点(MasterHost)组成,其中每个数据节点可运行多个数据库。基于对无共享(Shared-Nothing)分布式架构模式的分析,可以高效处理I/O数据吞吐和并发计算。Greenplum是高可用系统,对于数据节点,提供Mirror机制保护,将每个节点的数据在另外的节点中同步镜像,单个节点的错误不影响整个系统的使用。对于主节点,提供Master/Standby机制进行主节点容错,当主节点发生错误时,可切换到Standby节点继续服务。Greenplum可通过增加节点线性提高系统的存储容量和处理能力,使用户可根据实施需要进行容量和性能的扩展。产品功能ZooKeeper功能描述ZooKeeper可为大型分布式计算提供开源的分布式配置服务、同步服务和命名注册等功能。其目标是封装复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。它主要提供以下功能:数据订阅/发布发布者将数据发布到ZooKeeper的一个或一系列节点上,供订阅者进行数据订阅,进而达到动态获取数据的目的,从而实现配置信息的集中式管理和数据的动态更新。负载均衡分布式系统具有对等性,为了保证系统的高可用性,通常采用副本的方式来对数据和服务进行部署。对消费者而言,则需要在这些对等的服务提供方中选择一个来执行相关的业务逻辑,ZooKeeper则很好的解决了这个问题。命名服务在分布式系统中,通过使用命名服务,客户端应用能够根据指定名字来获取资源或服务的地址,提供者等信息。被命名的实体通常可以是集群中的机器,提供的服务地址,远程对象等等——这些都可以统称为名字(Name)。其中较为常见的就是一些分布式服务框架中的服务地址列表。通过调用ZooKeeper提供的创建节点的API,能够创建一个全局唯一的path,这个path就可以作为一个Name。集群管理客户端如果对ZooKeeper的一个数据节点注册Watcher监听,那么当该数据节点的内容或者其子节点的列表发生变更时,ZooKeeper服务器就会向订阅的客户端发送变更通知。而对在ZooKeeper上创建的临时节点,一旦客户端与服务器之间的会话失效,那么该临时节点也就被自动清除。分布式锁有了ZooKeeper的一致性文件系统,锁的问题变得容易。锁服务可以分为两类,一个是保持独占,另一个是控制时序。对于第一类,将ZooKeeper上的一个znode看作是一把锁,通过createznode的方式来实现。所有客户端都去创建/distribute_lock节点,最终成功创建的那个客户端也即拥有了这把锁。用完删除掉自己创建的distribute_lock节点就释放出锁。对于第二类,/distribute_lock已经预先存在,所有客户端在它下面创建临时顺序编号目录节点,和选master一样,编号最小的获得锁,用完删除。架构原理ZooKeeper中的角色主要有三种,如下表所示:角色描述领导者(Leader)领导者进行投票的发起和决议,更新系统状态学习(Learner)跟随者(Follower)Follower用于接收客户请求并向客户端返回结果,在选主过程中参与投票观察者(Observer)Observer可以接收客户端连接,将写请求转发给leader节点。但Observer不参加投票过程,只同步leader的状态。Observer的目的是为了扩展系统,提高读取速度客户端(Client)请求发起方系统模型如图所示:一个ZooKeeper集群通常由一组机器组成,一般3-5台机器就可以组成一个可用的ZooKeeper集群了。组成ZooKeeper集群的每台机器都会在内存中维护当前服务器状态,并且每台机器之间都保持着通信。只要集群中存在超过一半的机器能够正常工作,那么整个集群就能正常对外服务。ZooKeeper的客户端程序会选择和集群中任意一台机器共同创建一个TCP连接,一旦客户端和某台ZooKeeper服务器之间的连接断开后,客户端会自动连接到集群中的其他机器。特性1.高可用在ZooKeeper集群中,读可以从任意一个ZooKeeperServer读,写的请求会先提交到Leader,然后由Leader来通过ZooKeeper中的原子广播协议,将请求广播给所有的Follower,Leader收到一半以上的写成功的ACK后,就认为该写操作成功了,就会将该写操作进行持久化,并告诉客户端写成功了。2.WAL和Snapshot对于每一个更新操作,ZooKeeper都会先写WAL,然后再对内存中的数据做更新,然后向Client通知更新结果。另外,ZooKeeper还会定期将内存中的目录树进行Snapshot,保存到磁盘上。这么做的主要目的,一是数据的持久化,二是加快重启之后的恢复速度。3.有序ZooKeeper使用时间戳来记录导致状态变更的事务性操作,也就是说,一组事务通过时间戳来保证有序性。基于这一特性。ZooKeeper可以实现更加高级的抽象操作,如同步等。Greenplum功能描述Greenplum数据库是一种大规模并行处理(MPP)数据库服务器,其架构特别针对管理大规模分析型数据仓库以及商业智能工作负载而设计。MPP(也被称为sharednothing架构)指有两个或者更多个处理器协同执行一个操作的系统,每一个处理器都有其自己的内存、操作系统和磁盘。Greenplum使用这种高性能系统架构来分布数T字节数据仓库的负载并且能够使用系统的所有资源并行处理一个查询。Greenplum数据库是基于PostgreSQL开源技术的。它本质上是多个PostgreSQL面向磁盘的数据库实例一起工作形成的一个紧密结合的数据库管理系统(DBMS)。它基于PostgreSQL8.3.23开发,其SQL支持、特性、配置选项和最终用户功能在大部分情况下和PostgreSQL非常相似。与Greenplum数据库交互的数据库用户会感觉在使用一个常规的PostgreSQLDBMS。架构原理Greenplum架构GreenplumMasterGreenplum数据库的Master是整个Greenplum数据库系统的入口,它接受连接和SQL查询并且把工作分布到Segment实例上。Master是全局系统目录的所在地。全局系统目录是一组包含了有关Greenplum数据库系统本身的元数据的系统表。Master上不包含任何用户数据,数据只存在于Segment之上。Master会认证客户端连接、处理到来的SQL命令、在Segment之间分布工作负载、协调每一个Segment返回的结果以及把最终结果呈现给客户端程序。GreenplumSegmentGreenplum数据库的Segment实例是独立的PostgreSQL数据库,每一个都存储了数据的一部分并且执行查询处理的主要部分。当一个用户通过Greenplum的Master连接到数据库并且发出一个查询时,在每一个Segment数据库上都会创建一些进程来处理该查询的工作。用户定义的表及其索引会分布在Greenplum数据库系统中可用的Segment上,每一个Segment都包含数据的不同部分。服务于Segment数据的数据库服务器进程运行在相应的Segment实例之下。用户通过Master与一个Greenplum数据库系统中的Segment交互。GreenplumInterconnectInterconnect是Greenplum数据库架构中的网络层,主要负责查询执行过程中所有Segment实例之间以及Segment和Master之间的数据通信。GreenplumStandbyMasterStandbyMaster是Master节点的备份节点,通常部署在与Master不同的物理节点上。Master节点不是存储用户数据,当数据库元数据信息有更新时,这些变化会自动同步到StandbyMaster节点以保证元信息的一致性。当Master节点出现故障而无法恢复时,StandbyMaster节点可以被激活而成为新的Master节点。GreenplumMirrorSegment每一个Segment节点可以部署一个MirrorSegment节点,此时原有的Segment节点称为PrimarySegment节点。当PrimarySegment节点接收Master节点的查询请求并需要修改用户数据时,对应的数据变化会复制到相应的MirrorSegment节点上。在查询执行过程中,一旦PrimarySegment不可用,查询计划会重新分发到MirrorSegmen节点以保证返回正确的查询结果。特性超大规模和高性能Greenplum数据库采用大规模无共享处理结构,将多台服务器组成一个强大的计算平台,实现高效的海量并行计算。高可用性Greenplum提供多级容错机制确保整个系统的高可用性。主节点Master通过StandbyMaster进行备份,每个数据节点PrimarySegment分别配置一个MirrorSegment节点进行备份,同时确保同一组PrimarySegment与MirrorSegment节点不在同一物理机,从而降低由于宕机而导致数据丢失的风险。通用性Greenplum数据库拥有完善的SQL标准支持。多态存储Greenplum数据库提供“多态存储”的灵活存储方式。用户可以根据数据热度或者访问模式的不同而使用不同的存储方式,以获得更好的查询性能。支持的存储方式a)行存储b)列存储c)外部表高扩展性和高效资源管理得益于MPP的无共享结构,Greenplum数据库具有良好的、线性的在线扩展能力。事务支持支持分布式事务,支持ACID。保证数据的强一致性。有效数据加载Greenplum数据库利用MPP架构可以高效地并行加载数据,即允许数据从多个文件系统通过多个主机的多个网卡进行加载,从而达到非常高的数据传输率。高级数据分析Greenplum数据库支持各种过程化编程语言,包括PL/PostgreSQL、PL/R、PL/Python、PL/Java、PL/Perl等语言扩展。对外接口组件名支持的接口类型ZooKeeperJava、CLIManagerREST、SNMP、SyslogGreenplumCLI、REST、Java、Python、PHP、C兼容性CPU兼容性列表序号厂商CPU系列架构1Intel至强系列,Xeon5X、Xeon6X等X862飞腾FT-1500A、FT-2000+ARM3华为鲲鹏系列ARM操作系统兼容性列表序号操作系统1C

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论