APP下载

探秘MPP 数据库

2015-12-21孙淳晔SunChunyeLiangYang

互联网天地 2015年7期
关键词:架构节点数据库

孙淳晔,梁 杨/Sun Chunye,Liang Yang

(中国移动通信集团设计院有限公司河北分公司 石家庄050021)

1 引言

早期,运营商的数据库大多如Oracle、DB2 等OldSQL 型,近几年来,随着大数据技术的发展,数据处理技术进入了一个新的创新和发展高潮期。在硬件技术发展及市场需求双重因素的推动下,涌现出NewSQL、NoSQL 等新型数据库并逐步得以商用,形成目前数据库市场NewSQL、NoSQL、OldSQL 等多元异构的混搭格局[1],如图1所示。其中,基于开源技术的Hadoop 作为NoSQL的典型代表,通过扩展和封装Hadoop平台,能出色地完成对半结构化和非结构化的信令类、互联网类等数据的处理及分析支撑。MPP(Massively Parallel Processing,大量信息并行处理机)作为NewSQL的典型代表,本质属于关系型分析类数据库,主要面向行业大数据,在企业传统数据仓库去IOE化[2]、构建新型数据仓库及结构化分析的过程中起着无法替代的作用。本文主要针对MPP 数据库进行探究介绍。

图1 多元混搭的数据处理架构

现阶段比较成熟的MPP 产品很多,主要分为两个阵营:有Master 节点的集群,如Greenplum、Aster Data、HBase 等;无Master 节点的集群,如Vertica、GBase 等。在电信运营商领域,MPP 多用于BASS、ODS、EDW 等系统数据仓库搭建、面向历史库搭建、深度分析库搭建或专项数据集市的应用等,呈现从平台、数据到应用的集中处理。随着传统架构瓶颈的日益凸显,MPP 数据库在海量数据的查询、统计、分析、挖掘等方面的价值日益体现,行业应用也在不断深化。

2 MPP 数据库

MPP 是一种大规模并行处理的集群系统[3],由大量松耦合的处理单元Segment 组成,多为廉价的x86设备,区别于常见的Share-Disk,其采用Share-Nothing 架构,两种架构对比如图2所示。主机、操作系统、内存、存储都是自我控制的,不存在共享,各Segment 之间通过IP网络互联组网。在进行事务处理时,将任务通过某种分布方式并行地分散到多个Segment 上,在各Segment 上计算完成后,将各部分的结果汇总在一起得到最终结果。相较于传统的共享盘阵模式,MPP 省略了磁盘阵列的高额采购及扩容成本,且采用设备价格低廉,因此,在扩展性和成本费用上具有更大的优势。

由于近年来x86 设备性能的大幅提升,结合当前系统横向扩容难、资源综合利用效率低、维护成本高等矛盾日益突出的问题[4],某省运营商自NG 4.0时代开始,就在经分系统引入MPP 数据库建设,采用大量x86 设备进行分布式组网,由传统数据仓库向深度分析MPP 数据库逐步过渡,总结几期建设经验及日常维护经验,逐步摸索探究MPP 数据库。

3 MPP的运行机制及特点

MPP 采用无共享资源结构,其最重要的优势体现在大规模存储及并行计算上。这种特点不仅需要MPP 软件的支持,还需要硬件的保障。

(1)大规模存储

MPP 能够被广泛应用的原因主要是其不依赖于共享磁阵,而是采用众多x86 设备来搭建,并配置有大量的本地磁盘。一方面,大量的硬盘在执行并行计算时能够充分体现快速的优势; 另一方面,MPP 单位存储的造价要远小于磁盘阵列的单位造价。此外,数据的安全要兼备考虑数据及硬件机器的备份冗余,进一步加大了存储需求。MPP 采用列存储、粗粒度索引等技术,配合分布式架构来实现其高性能和高扩展性的特点。

(2)并行计算

随着近年来x86 单体设备性能的大幅提升,MPP 集群的性能优势也得以体现。MPP的优势更多地体现在大规模计算上,当执行大规模任务时,由于所有主机并发执行运算,MPP 则具备较快速的处理能力。但是MPP 数据库既要负责计算汇总,又要负责节点间通信,若通信时间占用过长,这一优势将不复存在。因此,MPP 多用于数据量大、响应速度要求高、并发用户多的交互式数据分析,支撑PB 级别的结构化数据分析。

MPP的优势主要体现在以下几个方面。

①分布式数据处理最核心的操作是表Join,而MPP 能较好地处理大数据量的SQL,在大表关联、更新、排序、汇总等方面性能优异。

图2 架构对比

②并发处理性能突出,数据分布时,采用某种分布方式将表分布到所有Segment 节点;读取时,各Segment 并发加载以提高IO 性能。

③压缩比和压缩性能高,压缩比高达10∶1,甚至更高,能提高数据存储能力。很多产品同时支持行存储及列存储,可以根据不同应用需求确定存储类型,以提高查询效率。

④MPP 号称支持线性扩展及具备高稳定性,支持在线扩容。互联网应用普及而带来的用户访问量增加,导致大规模数据的存储和访问成为系统设计的瓶颈,这就要求系统同时具备较强的稳定性及灵活的扩展性,Share-Nothing的架构使得MPP 不再受限于传统共享存储的大小,具有很强的扩展性。

4 设计MPP 数据库的影响因素

MPP 数据库在替代传统IOE 数据仓库的进程中发挥着巨大作用,已经从炒作走向商用,然而,随着在工程过程中的接触以及运维人员的反馈,也逐步发现了一些问题。MPP的工作原理是通过数据分布策略使得每个数据节点承担相当的数据任务。其中,能力差的节点将成为短板,从而会拖慢集群的整体性能,因此MPP 数据库的设备必须具有一致的配置及性能,在进行系统设计时主要受以下因素制约。

(1)设备选型不可控

除首次建设MPP 数据库外,之后每次节点扩容时都要面临设备的选型配比和压力一致性测试,但采集结果不可控,无论同构、异构,设备均会存在问题。同构产品性能可能会由于产品升级、性能提高而造成新机器性能浪费;异构厂家的服务器参数即使在配置上相同,在能力上也会存在差距,只能达到准线性扩容。

(2)自动化负载均衡分配不到位

设备性能的差距始终是影响扩容的一个因素,部分产品无法根据设备能力自动分配相应的任务量。传统数据库的小型机时代,由于设备数量较少,可以根据设备的性能,人工调整运行的实例数量,做到负载均衡。而在MPP 架构机制中,动辄几十台的设备上线,人工调节工作无疑是海量的,而人工调节此类的案例更多地存在于电商领域中,依靠工程师的经验来调节,对操作人员的专业水平要求极高,对于企业级的生产系统来说并不可取,缺乏安全保障机制。

(3)数据重分布困难,耗时长

当数据库节点扩容重新组成集群时,需要重新分布已有数据,但数据重分布需要耗费大量时间,影响核心生产系统。反之,在人工节点收缩或由于部分设备宕机造成节点收缩时,同样存在相同的问题,部分产品甚至不支持节点收缩,造成设备一旦加入节点群后便不能退出,设备的故障恢复策略并不完善。

针对上述存在的若干问题,结合工程经验,提出以下建议。

(1)选配建议

由于MPP 数据库的备份保障机制对存储需求较大,设备选配尽量选用可配置较多块本地SAS 硬盘(一般为12~24 块,万转/s 以上)的机架式x86 服务器,并具备RAID 保障机制,方便扩展级联并保证较高的IO,而刀片式服务器做存储节点并无优势,存储刀片PC的所有数据吞吐都要通过刀框的背板,无论是测试还是日常运行环境,都极易造成IO瓶颈。退一步讲,即使机架式服务器与刀片式服务器能够达到相同配置,业内机架式、刀片式x86 服务器混搭MPP 数据库的先例在生产系统也极为少见。

(2)组网建议

由于MPP的运行机制,每一项任务都要分配到所有的节点,节点之间也会涉及信息的传递,机器交换网卡的速度、存储介质的读写速度,都会影响数据库的整体性能,而所有的信息传递都要通过外部互联交换机作为中转,因此,务必要保证此交换机具备较大的吞吐量,达到万兆组网,消除通信时延。

(3)冗余建议

为避免非主流设备的易淘汰性,务必选用比较通用的中高档次的x86 设备类型,保证后期扩容能方便匹配,实现准线性扩容。此外,在投资充分的前提下,尽量多配置冗余硬件,一方面保证数据库出现故障后能够及时恢复,另一方面考虑尽量减少MPP的扩容次数以减小扩容代价。

(4)软件建议

从数据库软件自身来说,应具备较强的设备适用性,并具有任务的自动调节分配、可网管性、易操作性等功能,成为规范化、标准化的通用产品。

5 结束语

近年来,业界去IOE的势头越来越强烈,运营商迈入彻底的云计算服务模式已成为时代的必然,各省都或多或少进行了MPP 数据库的建设,谋求从系统架构上进行改变,然而,理想与现实之间的矛盾注定了过程的复杂性。在此,MPP 数据库建设经验只是抛砖引玉的一点,仅供参考借鉴,以后还会面临各种其他新挑战及新问题,不是为用而用,要打造出精品的IT 支撑还需要运营商、软/硬件提供商等多方面协同配合,共同努力。

[1]张雨,蔡鑫,李爱民等.分布式文件系统与MPP 数据库的混搭架构在电信大数据平台中的应用[J].电信科学,2013,(11).

[2]孙淳晔.基于大数据平台的企业级经营分析系统建设探讨[J].电信工程技术与标准化,2015,(1).

[3]辛晃,易兴辉,陈震宇.基于Hadoop+MPP 架构的电信运营商网络数据共享平台研究[J].电信科学,2014,(4).

[4]饶高钢,郝金隆.电信运营商IT 系统去IOE 思路及实施方法[J].电信工程技术与标准化,2014,(9).

猜你喜欢

架构节点数据库
基于图连通支配集的子图匹配优化算法
功能架构在电子电气架构开发中的应用和实践
结合概率路由的机会网络自私节点检测算法
面向复杂网络的节点相似性度量*
采用贪婪启发式的异构WSNs 部分覆盖算法*
基于B/S架构的图书管理系统探究
构建富有活力和效率的社会治理架构
数据库
数据库
VoLTE时代智能网架构演进研究