H3C+DataEngine+MPP+Cluster技术白皮书完整_第1页
H3C+DataEngine+MPP+Cluster技术白皮书完整_第2页
H3C+DataEngine+MPP+Cluster技术白皮书完整_第3页
H3C+DataEngine+MPP+Cluster技术白皮书完整_第4页
H3C+DataEngine+MPP+Cluster技术白皮书完整_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

H3CDataEngineMPPCluster技术白皮书杭州华三通信技术有限公司 PAGEIIH3CDataEngineMPPCluster技术白皮书杭州华三通信技术有限公司TIME\@"yyyy年M月"2016年4月

目录TOC\o"1-3"\h\z1 DataEngineMPPCluster产品简介 11.1 产品简介 11.2 产品技术特点 11.3 产品功能简介 22 DataEngineMPPCluster产品架构 33 DataEngineMPPCluster产品平台和指标 43.1 支持的操作系统和平台 43.2 硬件环境 43.3 技术指标 44 DataEngineMPPCluster核心技术 64.1 MPP+SharedNothing架构 64.2 核心组件 64.3 高可用 74.4 高性能扩展能力 84.5 高性能数据加载 94.6 OLAP函数 104.7 行列混合存储 105 DataEngineMPPCluster工具 115.1 客户端工具 115.1.1 企业管理工具 115.1.2 监控系统工具 115.2 备份/恢复工具 115.3 gcadmin工具 125.4 数据重分布工具 125.5 数据抽取及加载工具 125.6 GCMonit监控工具 135.7 DB-Link与透明网关 135.8 Hadoop导入导出工具 146 DataEngineMPPCluster开发接口 146.1 DataEngineMPPClusterODBC 146.2 DataEngineMPPClusterJDBC 156.3 DataEngineMPPClusterADO.NET 156.4 DataEngineMPPClusterCAPI 16GBase8aMPPCluster技术白皮书 H3CDataEngineMPPCluster技术白皮书-PAGE13- 南大通用数据技术股份有限公司杭州华三通信技术有限公司 -PAGE16-DataEngineMPPCluster产品简介产品简介H3C大规模分布式并行数据库集群系统,简称:H3CDataEngineMPPCluster,它是在DataEngine列存储数据库基础上开发的一款SharedNothing架构的分布式并行数据库集群,具备高性能、高可用、高扩展特性,可以为超大规模数据管理提供高性价比的通用计算平台,并广泛地用于支撑各类数据仓库系统、BI系统和决策支持系统。产品技术特点DataEngineMPPCluster具备以下技术特征:低硬件成本:完全使用x86架构的PCServer,不需要昂贵的Unix服务器和磁盘阵列;集群架构与部署:完全并行的MPP+SharedNothing的分布式架构,采用Non-Master部署,节点对等的扁平结构;海量数据分布压缩存储:可处理PB级别以上的结构化数据,采用hash分布、random存储策略进行数据存储;同时采用先进的压缩算法,减少存储数据所需的空间,可以将所用空间减少1~20倍,并相应地提高I/O性能;数据加载高效性:基于策略的数据加载模式,集群整体加载速度可达2TB/h;高扩展、高可靠:支持集群节点的扩容和缩容,支持全量、增量的备份/恢复;高可用、易维护:数据通过副本提供冗余保护,自动故障探测和管理,自动同步元数据和业务数据。提供图形化工具,以简化管理员对数据库的管理工作;高并发:读写不互斥,支持数据的边加载边查询,单个节点并发能力大于300用户;行列混合存储:提供行列混合存储方案,从而提高了列存数据库特殊查询场景的查询响应耗时;标准化:支持SQL92标准,支持CAPI、ODBC、JDBC、ADO.NET等接口规范。产品功能简介功能描述结构化查询语言符合SQL92标准,支持CREATE、ALTER、DROP等DDL语法,支持SELECT、INSERT、UPDATE、DELETE、MERGE等DML语法,支持单表,多表联合查询数据类型INT、TINYINT、SMALLINT、BIGINT、DECIMAL、FLOAT、DOUBLE数值数据类型CHAR、VARCHAR、TEXT字符数据类型DATE、TIME、DATETIME、TIMESTAMP日期类型BLOB二进制数据类型数据库对象提供了数据库,表,索引,视图,存储过程,自定义函数等常用数据库对象的创建,修改和删除操作,支持数据库用户的创建,删除操作,以及用户权限的分配与回收行列混合存储基于创建的物理表,可以实现行存列的创建,修改和删除图形化工具提供了企业管理工具和集群监控工具。接口符合并支持CAPI、ODBC、JDBC、ADO.NET等接口规范外围工具提供数据加载、集群备份/恢复、数据重分布等外围工具2 DataEngineMPPCluster产品架构图STYLEREF1\s0SEQ图\*ARABIC\s11DataEngineMPPCluster系统架构图DataEngineMPPCluster产品平台和指标支持的操作系统和平台支持如下的操作系统和平台:64位Linux系列(CentOS、RedHat、SUSE)硬件环境支持基于x86_64的标准PC服务器;支持本地存储(SATA、SAS、SSDetc);支持阵列部署(SAN、NAS);支持SSD、Flash存储介质作为二级I/O缓存;支持千兆、万兆Ethernet网络;支持InfiniBand网络。技术指标技术指标描述集群节点的数据库实例的大小10TB数字精度65表的个数每个数据库65536每个表中列的个数2000每个表中行的个数247表中一行的内部长度300000字节一个INTEGER类型列的长度8字节日期类型列中表示年的位数4位用户名包含字符的个数16字符CHAR类型列的长度255字符BLOB列的长度32K字节VARCHAR类型列长度32K字节行存列的长度32KB数据库名长度64字符表名长度56字符列名长度64字符索引名长度64字符别名长度255字符DataEngineMPPCluster核心技术MPP+SharedNothing架构DataEngineMPPCluster采用完全并行的MPP+SharedNothing的分布式扁平架构,这种架构中的每一个节点(node)都是独立的、自给的、节点之间对等,而且整个系统中不存在单点瓶颈,具有非常强的扩展性。图STYLEREF1\s4SEQ图\*ARABIC\s11SharedNothing+MPP架构示意图核心组件DataEngineMPPCluster产品总共包含三大核心组件,即GCluster、GCware和GNode。GCWare用于各节点GCluster实例间共享信息,GCluster负责集群调度,每个GNode就是最基本的存储和计算单元。GCluster:GCluster负责SQL的解析、SQL优化、分布式执行计划生成、执行调度。GCWare:GCWare用于各节点GCluster实例间共享信息(包括集群结构,节点状态,节点资源状态等信息),以及控制多副本数据操作时,提供可操作节点,并在多副本操作中,控制各节点数据一致性状态。GCWare对于集群的管理工作是以节点为基本单位的。GNode:GNode是GCluster中最基本的存储和计算单元。GNode是由GCWare管理的一个DataEngineMPP实例,每个GCluster节点上有一个GNode实例运行。GNode负责集群数据在节点上的实际存储,并从GCluster接收和执行经分解的SQL执行计划,执行结果返回给GCluster。数据加载时,GNode直接从集群加载服务接收数据,写入本地存储空间。GCMonit:GCMonit用于定期监测DataEngineMPPCluster服务程序的运行状态,一旦发现某个服务程序的进程状态发生变化,就会根据配置文件中的内容来执行相应的命令。GCMonit进程监控程序为集群中的每个组件提供各自的启停脚本,提供的总脚本可以一次性启停所有模块的服务。高可用DataEngineMPPCluster通过SafeGroup组内冗余机制来保证集群的高可用特性:每个SafeGroup可提供1个或2个副本数据冗余;SafeGroup内数据副本自动同步;复制引擎自动管理数据同步。图STYLEREF1\s4SEQ图\*ARABIC\s12SafeGroup高可用性管理示意图高性能扩展能力DataEngineMPPCluster具备高性能扩展能力:通过SafeGroup动态扩展集群节点;每个节点可以处理10TB有效数据,同时提供计算和存储能力;GCware负责新节点的数据同步。图STYLEREF1\s4SEQ图\*ARABIC\s13DataEngineMPPCluster扩展技术示意图因为DataEngineMPPCluster采用高性能单节点的MPP扁平架构,因此进行集群扩展时,可以保证平滑扩展和性能的线性增长特性。图STYLEREF1\s4SEQ图\*ARABIC\s14DataEngineMPPCluster高性能高扩展示意图高性能数据加载数据加载功能作为DataEngineMPPCluster的一部分而存在,目的是将用户从其他数据源得到的原始数据文件,按照某种加载规则分发至集群节点,集群各节点接收数据入库保存到本地磁盘。集群加载采用C/S架构,包括数据分发服务器和数据分发客户端两个应用程序。数据分发服务器接收到客户端的数据加载请求后,服务器端负责原始数据文件切分和数据文件的下发;各节点调用本地的集群加载服务接收数据入库并保存到本地磁盘。

图STYLEREF1\s4SEQ图\*ARABIC\s15数据加载示意图OLAP函数DataEngineMPPCluster提供OLAP函数,用于支持复杂的分析操作,侧重于对决策人员和高层管理人员的决策支持。可根据分析人员的要求,快速灵活地进行大数据量的复杂查询处理,以便他们准确掌握企业的经营状况,了解被服务对象的需求,制定正确的方案。行列混合存储DataEngineMPPCluster采用的行列混合存储的存储结构,改善了当需要物化的列数较多,查询命中的数据记录又非常离散时,会频繁访问I/O的状况,大大缩短了查询耗时,从而提高了查询效率。DataEngineMPPCluster提供的行列混合存储技术,它通过创建行存列的机制,减少I/O访问的次数,从而有效地提高I/O性能。DataEngineMPPCluster工具客户端工具企业管理工具图形化的查询和管理工具,提供用于访问、控制和管理GCluster集群环境。使用DataEngineMPPCluster企业管理器可以完成如下工作:查看管理集群、集群服务器;查看管理数据库、表、索引;查看所有连接到当前集群环境中的用户;在SQL编辑器中创建和执行SQL语句;其它管理,例如创建和执行存储过程、自定义函数等。监控系统工具DataEngineCluset提供了图形化的监控系统工具,该工具提供以下功能:实时的集群监控信息;及时的报警功能;直观的趋势展示;可靠的数据分布视图;详尽的审计日志功能;备份/恢复工具通过集群的gcrcman的命令行工具,可以实现集群的备份/恢复功能:查看备份记录;备份、恢复;删除数据备份;清除无效备份;gcadmin工具对于数据库集群用户,尤其是系统管理员来说,实时查询、调整集群以及各节点工作状态,尤为重要。DataEngineMPPCluster为管理员提供了命令行工具gcadmin。该工具能实现SafeGroup的增加、移除,切换集群模式,查看集群状态等管理功能。数据重分布工具数据库集群,通过扩展集群的SafeGroup来增加存储容量和提升查询性能。扩展集群SafeGroup后,需要将原集群SafeGroup中的数据,根据数据分布策略重新分布。因此DataEngineMPPCluster提供了一个数据重分布的管理工具,用来进行集群增加节点后的数据重分布的操作,使得数据能够按照重分布策略分布到各节点上。数据重分布的过程是在线进行的,也就是说无需停止DataEngineMPPCluster的服务即可实现,数据重分布可以与查询操作并发。数据抽取及加载工具db2tode/oratode工具是杭州华三通信技术有限公司提供的,可以从db2/oracle数据库系统中抽取数据的工具,使用它可以从db2/oracle系统中抽取出用户所需要的数据,并以文件的形式保存下来,该文件可以作为其它数据库(包括DataEngine数据库系统)的数据源文件。数据分发服务程序是集群为用户加载数据提供的一个工具,此工具由数据分发服务端程序(dispserver)和数据分发客户端程序(dispcli)两个可执行文件组成,实现将数据源文件(从oracle系统或db2系统获取的文件)加载到DataEngine数据库系统的功能。数据分发服务程序的工具包是以tar.bz2的压缩形式提供给用户的。GCMonit监控工具Monit是开源工具,在某些unix或linux系统中运行会存在一定程度的兼容性问题(suse系统中会出现不能监控进程的问题);另外,被监控进程还需要提供相应的pid文件给Monit;它本身也不支持高可用运行模式。因此我们依照DataEngine的自身需求和Monit工具的基本功能,开发DataEngineGCMonit来满足多unix(或linux)系统的运行需求。GCMonit功能如下:实时监控DataEngine集群服务程序(目前主要包括gbased,gclusterd,gcrecover,gcmetarecover和gc_sync_server)的运行状况,一旦发现某个服务程序的进程状态发生变化,就会根据配置文件中的内容来执行相应的命令脚本。提供用户指定的配置文件,可配置内容包括:需要监控的服务程序名称,服务进程状态变化时所要执行的方法,检测服务程序的时间间隔,日志文件路径和名称等。记录日志信息。实现DataEngineGCMonit的高可用性具体请参见《DataEngineMPPClusterGCmonit与集群启停工具使用手册》。DB-Link与透明网关DB-Link:DataEngine集群内部提供的远程数据库链接功能,通过与透明网关服务的协同工作,实现透明访问异地集群中的数据库的数据表或者远程数据库的数据表。透明网关服务:一个独立运行的进程,负责连接DataEngine集群之外的其他数据库(通过标准JDBC接口,也可以支持DataEngine集群间的远程访问),并完成数据抽取的工作。通过DB-Link功能,客户可以实现:DataEngine集群的应用程序可以访问一个外部数据源,外部数据库是DataEngine集群。可以查询外部数据源的数据,也可以将外部数据源的数据与本地集群中的数据进行关联运算。远端数据库是DataEngine集群,并且网络通信没有限制的情况下,可以对这种场景进行定向优化,以提升性能。不支持异构数据源Hadoop导入导出工具通过DataEngineMPPClusterHadoop导入导出工具,客户可以实现:将DataEngineMPP集群数据导出到指定的hadoop目录上,支持全量和多表导出;从指定的hadoop目录(DataEngineMPP导出成功的目录)导入数据,支持全量和单表导入;注:集群数据:包括数据库的用户、权限、存储过程、函数、库、表结构、表数据等具体请参见《DataEngineMPPClusterHadoop导入、导出手册》。DataEngineMPPCluster开发接口DataEngineMPPClusterODBCDataEngineMPPClusterODBC是DataEngineMPPCluster的ODBC驱动程序,它提供了访问DataEngineMPPCluster的所有ODBC功能。DataEngineMPPClusterODBC支持ODBC3.5X一级规范(全部API+2级特性)。用户可以通过ODBC数据源管理器调用DataEngineMPPClusterODBC驱动访问DataEngineMPPCluster数据库或者直接调用DataEngineMPPClusterODBC驱动访问DataEngineMPPCluster,另外通过可视化编程工具如C++Builder、VisualStudio等也可以利用DataEngineMPPClusterODBC访问。DataEngineMPPClusterODBC支持所有DataEngineMPPCluster支持的Windows、Linux、AIX平台。DataEngineMPPClusterJDBCDataEngineMPPClusterJDBC是一种兼容JDBC规范3.0、4.0(类型4)的驱动,这意味着它是符合JDBC3.0、4.0版本规范的一种纯Java程序,并能使用DataEngine协议直接和DataEngine服务器通信。DataEngineMPPClusterJDBC为使用JAVA程序语言的客户端应用提供访问DataEngineMPPCluster接口。DataEngineMPPClusterJDBC支持

温馨提示

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

评论

0/150

提交评论