大规模并行处理的能力和速度对于大多数应用是不是已经足够了呢?还是另外需要一些特别的方法来提升?一种被数据库专家成为高级分析的技术目前十分火热。
知道淘宝每天产生的交易数据量有多少吗?知道电信运营商们的业务数据量已经达到什么数量级了吗?知道热盼的智能电网落地后会新增多少数据吗?
数据爆炸催熟分析型数据库
在这个数据不断膨胀的时代,企业数据量从过去的MB到GB再到TB,增长到现在的PB级数据规模。过去多年来,中国企业非常重视基础和应用建设,其结果是产生了大量的数据。如果这些数据不能体现价值,IT从业人员会遭受到巨大的压力。
而大多数数据库的性能随着所管理的数据量的增加,性能会急剧下降,传统的OLTP数据库在处理海量数据时遭遇瓶颈,于是分析型数据库登台亮相。
分析型数据库是在海量数据中心、企业级数据仓库、企业数据云的背景下分化出来的一个细分市场,这个市场从被明确出来的那一刻起,就发展得异常迅速。
都说分析型数据库时代来临,那到底什么是分析型数据库,和传统的数据库有什么区别呢?分析型数据库厂商Greenplum业务总监陈昌腾向记者介绍说,传统数据库侧重交易处理,关注的是多用户的同时读写操作,在保障即时性的前提下,处理数据的分配、读写等操作,存在I/O瓶颈。而分析型数据库是以实时多维分析技术作为基础,对数据进行多个角度的模拟和归纳,从而得出数据里面包含的信息和知识,当面对海量数据时,数据库首先要克服I/O瓶颈。
企业采用分析型数据库技术有无数的理由。TDWI Research的高级经理Philip Russom认为,其中一个很重要的原因,就是数据分析的使用越来越频繁,而其复杂度却越来越高。一种被Russom和其他专家称为“高级分析”的技术目前十分火热,它描述了特别复杂的——通常是SQL驱动的查询或者预测分析技术的使用。毫无例外,分析型数据库专家都将MPP(Massively Parallel Processing,平台海量并行处理服务器)作为高级分析的一个必要条件。
Russom认为传统的数据仓库系统是无法完成针对海量数据的分析任务的,他引用TDWI的一份调查来说明:调查显示有40%的受访者对他们现有数据仓库平台的分析能力表示担心,有51%的受访者表示计划在接下来的5年时间里,启动分析型数据库平台。
让用户在几秒内得到查询结果
高性能的大规模数据处理能力是DBA对数据库梦寐以求的能力之一。从字面上不难看出,“高性能的大规模数据处理能力”,一方面是针对“大规模的数据”,另一方面就是“数据的处理”。前者需要的是数据吞吐能力,就是所谓的I/O;后者需要的是并行计算能力,即充分利用软硬件资源最大化运行任务及进程,这也就是像Greenplum这样的高性能数据仓库引擎追求高效的两个途径。
Russom认为,高级分析技术转为主要依靠复杂或对等的SQL语句实现,这让传统数据仓库平台查询性能差的缺点更加突出。很多企业都认为“查询响应慢”是影响他们部署数据仓库平台产品的决定性因素。
在这方面,分析型数据库专家特别喜欢用传统的数据仓库平台做对比,例如主流的Oracle、SQL Server或者DB2。分析型数据库厂商纷纷宣称自己的产品可以让用户在几秒钟内,甚至几百毫秒内就得到想要的查询结果。人们通常关注一些类型的查询,这些查询也许是需要频繁交互的,或者有非常多的用户,反正需要使用非常复杂的查询语句,并且需要在几秒钟内就得到结果,人们无法容忍几十分钟甚至数个小时的等待。
“Greenplum的海量数据查询速度可以比传统的数据库快20倍。”Greenplum大中华区总裁周金辉说,“其实20倍是一个保守数字,因为大多数的实际测试结果都显示,查询速度之比都在20至50倍之间。”周金辉在IT行业从业25年以上,曾在Oracle公司工作16年,担任亚太区副总裁。周金辉表示考虑到客户环境的差异、应用场景的复杂性,Greenplum认为20倍是完全可以保障的。但他同时表示,这一结果目前仅仅是在一些既有的数据仓库应用案例中比较得出的。
陈昌盛向记者解释说,之所以能做到如此,有三个原因:一是Greenplum的并行处理技术,创造出了前所未有的高性能,初接触的客户会感受到完全不同的震撼;二是Greenplum的分布式架构设计,使得用户可以无限线性扩展所管理的数据,完全消除海量数据的压力;三是 Greenplum的开放平台设计,确保在低端的PC服务器实现高性能,这显著降低了用户的使用门槛,与市场正在形成的需求形成良性互动。
Greenplum试进入中国大约一年的时间,已经签约了16家客户,平均每个月都能够签约一家多,这样的签约速度在企业级软件市场是非常快的,因为客户从了解、熟悉到做决定一般都至少需要3个月的时间。Greenplum的签约时间短,也说明了客户对Greenplum的信心比较足。陈昌盛补充说,Greenlpum所管理的数据是无限扩充的;而且更为重要的是,目前所有的系统扩容都需要停机,但是Greenplum却可以扩容不损失任何业务时间。
工作量管理是否有必要
有意思的是,Greenplum和其他分析型数据库厂商,都特别热衷于把Teradata作为对比对象。与一些传统的数据库管理系统厂商相比,Teradata的工作量管理(WLM)能力是非常出色的。
当然,也有一些分析型数据库厂商宣称能够改善工作量管理特性,例如Aster Data Systems公司,他们表示其产品可以与Teradata的Active Systems Management(TASM)相媲美。Vertica公司负责市场的副总裁Dave Menninger也表示,Vertica在其最新产品Vertica 3.5版本中,引入了加强的WLM功能。大部分的分析型数据库厂商,都会主要强调MPP速度和并行处理能力的优势。
Teradata公司负责产品与服务市场的副总裁Randy Lea表示:“工作量管理是相当复杂的,我们依然在持续改进其功能,为客户提供大量个性化的服务。”他认为,他们的目标是战略层次上的,而大部分的分析型数据库平台的实现只是停留在战术层面上。Lea说,在战术层面上,工作量管理也许并没有那么重要,最多你可以对使用系统的用户做一些限制,而对于企业级的数据仓库,情况则要复杂得多。
“即使是非常简单的数据需求,我依然会制定一些业务规则,并予以实现。例如,CEO的请求应该具有最高优先级。这可能是一种好的策略。”他解释说,“我们完全可以根据时间、查询结果、用户或者应用,来实现我们的业务规则,从而最好地实现数据仓库的效用。”
“如果你遵从统一的平台模型,并且需要为一部分数据仓库任务提供良好的实时SLA保障,那么工作量管理是很有用的。”咨询公司Third Nature的资深数据仓库体系架构专家Mark Madsen说。他认为,现在需要建设数据仓库的公司,需要在无所不包、自顶向下和松散耦合、自底向上两种方法之间作出选择。
“一种选择是,大型统一平台,具备很强的工作量管理能力,适用于高度集中化的体系结构。另一种选择是具有高度可用性和很短响应时间,能够很好地满足运营需求,而将那些大负荷的分析查询留在主体平台执行。”Madsen指出,“问题在于,如果大数据量的查询也要求有很好的数据实时性,那么后者就无法处理了。”
但Madsen对于并发处理能力高于一切的说法并不以为然。他说:“我并不认为,更强的处理能力就能解决一切问题,因为这就像多个简单并行任务和一个复杂任务的区别。如果系统是为处理大型数据设计的,那么很多个简单任务还是不得不一个一个依次执行,只是单个任务的完成时间会更短。”
声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。