面对大数据处理挑战需提升服务器性能数据应用
据IDC预测,未来十年全球大数据将增加50倍。而仅在2011年,全球就产生了1.8ZB(也即1.8万亿GB)的大数据。毫无疑问,大数据将挑战企业的存储架构及数据中心基础设施等,也会引发云计算、数据仓库、数据挖掘、商业智能等应用的连锁反应。
大数据引发三重挑战
具体到企业而言,其面临的最直接的挑战就是企业的基础架构是否适应大数据管理和分析的需要,尤其是一旦要从大数据中查找或者分析出有价值的信息,那大数据的处理效率就成为了关键。而即使是传统的结构化数据,其对处理速度的要求也越来越高。以银行业为例,伴随着银行网点、ATM机的多点布局,再加上越来越多的新兴业务转移到互联网上,使得银行不得不面对无时无刻无处不在的数据处理响应需求。
影响数据处理速度的因素很多,归结起来主要有计算、存储和网络三大方面的因素。计算依靠服务器来实现,其CPU的主频、内存的容量和I/O带宽,都会影响到运算速度。尤其是服务器整体表现出来的性能,将会是影响大数据处理的关键因素。此外,有些企业喜欢采用x86集群或者分布式计算来对大数据进行处理,但是各个计算节点间的调用和处理器使用效率,亦成为影响数据处理快慢的因素。
存储方面,传统的存储系统已经成为数据库处理的瓶颈,这些制约因素包括存储系统到数据库的带宽限制、存储阵列的内部瓶颈等。数据带宽已经严重地限制了数据库的性能,而随机I/O的瓶颈限制了OLTP(联机事务处理)应用的性能。网络带宽涵盖了服务器和存储系统间的带宽、终端和主机间的带宽。假如采用集群或分布式系统,还需要考虑节点之间的带宽。
大型数据库开启效率之旅
除了上述三个因素外,许多企业基于历史发展的原因,还会创建多个数据库。它们经常采用不同的平台,使用不同的软件,造成了数据处理和管理效率的低下。
这些数据库通常包含与其它数据库相重复的数据。一个数据库一般不会将另一个数据库作为数据源。这样就会消耗额外的磁盘存储,增加重复数据迁移所需要的网络带宽,也会因从多个数据存储获取相同数据的需要而额外增加服务器CPU处理的负荷。
同时,假如企业拥有多个数据库的话,那么他们通常会将它们部署在不同的平台上,针对不同的硬件平台采用不同的维护方法。这样需要维护不同品牌和模型的服务器数量越多,成本就越高。如果是关键任务服务器,那么提供冗余性的硬件就会重复,这也会增加额外的成本。
此外,企业还不得不面对运营效率低下的问题。假如在多个服务器上运行多个数据库系统,那么有一些运营成本需要考虑,包括培训多个系统的人员、监控多个系统、修复多个平台的故障、修补和更新多个系统。而在统一的操作系统和硬件平台上运行一个系统会更简单一些,成本也更低。另外,监控和故障修复也更加简单。
在一些情况中,数据规模直接决定了系统规模。大容量数据需要组织起来进行处理才会产生价值。如果将整个企业的信息整合为一个统一且安全的整体,那么许多企业都将获益更多。因而虽然单个大型数据库系统的初始成本高于一般数据库,但是对于长期运营而言,更加划算。而且单个数据库系统可以根据当前需求调整规模,在有需要时增加容量,从而使整个系统处于高效率的运行状态。
内存计算化繁为简
值得一提的是,近年来许多数据库厂商大力发展的内存计算技术,同样对数据处理速度的提升起到了很大的作用。
内存计算的主要用途之一是庞大的数据集的实时操作。在传统的数据库中,数据存在硬盘上。数据和服务器的CPU,通过有线连接,所以数据要到达的“桌面”是缓慢和遥远的,当需要十亿字节或者艾字节的数据时,数据库性能缓慢的主要原因之一是数据存取的时间过长,不能以足够快的速度到达所需要的地方。
在内存计算中,数据就存储在CPU的旁边,可以瞬间到达。这意味着数百GB的数据分析,报告和预测需要几秒钟内就可以完成,而不是几小时。