大数据正在彻底改变IT世界。那么,什么样的数据谈得上数据呢?
根据IDC的报告,未来十年全球大数据将增加50倍。仅在2011年,我们就将看到1.8ZB(也就是1.8万亿GB)的大数据创建产生。这相当于每位美国人每分钟写3条Tweet,而且还是不停地写2.6976万年。在未来十年,管理数据仓库的服务器的数量将增加10倍以便迎合50倍的大数据增长。
毫无疑问,大数据将挑战企业的存储架构及数据中心基础设施等,也会引发云计算、数据仓库、数据挖掘、商业智能等应用的连锁反应。2011年企业会将更多的多TB(1TB=1000GB)数据集用于商务智能和商务分析;到2020年,全球数据使用量预计暴增44倍,达到35.2ZB(1ZB=10亿TB)。
大数据面临的挑战
对于海量的数据信息,如何对这些数据进行复杂的应用成了现今数据仓库、商业智能和数据分析技术的研究热点。数据挖掘就是从大量的数据中发现隐含的规律性的内容,解决数据的应用质量问题。充分利用有用的数据,废弃虚伪无用的数据,是数据挖掘技术的最重要的应用。传统的数据库中的数据结构性很强,即其中的数据为完全结构化的数据,而目前数据最大特点就是半结构化,因此此类数据挖掘比面向单个数据仓库的数据挖掘要复杂得多。
谈到传统数据仓库的时候,大家不免就会买存储设备,选服务器,不管是IBM Power或者是Oracle架构的,这些其实都是在传统时代非常有名的数据库品牌,把它构建在一起,构成数据仓库,微软、COCNOS等都提供解决方案。
对企业业务来说,不光要有高扩展性,而且是动态的需求,能够让设备自由扩充,不用去管数据仓库、应用具体运行在这些机器的哪一台上,这些计算能力的耗费完全是根据业务的伸缩而来的。
传统的架构做这类的项目十年到二十年的时间,它们有一个特点,数据仓库的访问和传统的不同,所谓的不同就是查询特别大,查询的语句特别长、特别复杂,不像去银行的存提款只是在众多的记录中查询一两条,它符合大数据查询的特征,传统的查询索引作用非常有限。在数据库中涉及多张表的连接,同时还有汇总、算标准差等复杂的运算。但是相反它的并发请求不是很多,一个企业就是人再多,不会同时超过一千个业务分析员在分析数据。
因此,在数据仓库诞生的第一天,系统一直就有一个瓶颈,要把大查询分解成小任务,这些小任务由并行的服务器来完成,我们强调小的机器要多,而不要大的机器CPU数少。因此,数据仓库天生就是MPP、开放架构的CPU加上并行扩展横向扩展数量。
当大数据遭遇云计算
云计算为什么能盛行呢?在互联网领域应用系统的构建:客户群体是不确定的、系统规模不确定、系统投资不固定、业务应用有很清晰的并行分割特征、数据仓库系统的构建、数据仓库规模可估算、数据仓库的系统投资与业务分析的价值和回报相关、商业智能应用属于整体应用、Saas模式构建数据仓库系统。
大数据管理,分布式进行文件系统,如Hadoop、Mapreduce数据分割与访问执行;同时SQL支持,以Hive+HADOOP为代表的SQL界面支持,在大数据技术上用云计算构建下一代数据仓库成为热门话题。从系统需求来看,大数据的架构对系统提出了新的挑战:
1、集成度更高。一个标准机箱最大限度完成特定任务。
2、配置更合理、速度更快。存储、控制器、I/O通道、内存、CPU、网络均衡设计,针对数据仓库访问最优设计,比传统类似平台高出一个数量级以上。
3、整体能耗更低。同等计算任务,能耗最低。
4、系统更加稳定可靠。能够消除各种单点故障环节,统一一个部件、器件的品质和标准。
5、管理维护费用低。数据藏的常规管理全部集成。
6、可规划和预见的系统扩容、升级路线图。
云计算环境作为大数据处理平台
1.云计算环境中基本计算单元的分化
企业云计算平台上虽然有多个并行计算的CPU,但并没有创造出具有超强数据处理能力的超级CPU,因此云计算平台需要的是有并行运算能力的软件系统。同时,当所有用户的数据全部放在云端时,虽然存储容量可以很方便地扩充,但面对大量用户同时发起的海量数据处理请求,简单的数据处理逻辑已经无法满足需要。
可以看到,国内有相当多的电商企业,用小型机和Oracle扛了好几年,并请了全国最牛的Oracle的专家不停优化他的Oracle和小型机,初期发展可能很快,但是后来由于数据量激增,业务开始受到严重影响,最典型的例子无疑是京东商城前段时间发生的大规模访问请求宕机事件,因此他们开始逐渐放弃了Oracle或者MS-SQL,并逐渐转向MySQL+X86的分布式架构。
目前的基本计算单元常常是普通的X86服务器,它们组成了一个大的云,而未来的云计算单元里有可能有存储单元、计算单元、协调单元,总体的效率会更高。
2、对系统稳定性的需求
在应对大规模访问的时候有一些系统稳定性的追求,来自很多方面,来自网络稳定性、数据库稳定性。对系统而言,需要把握一个大原则,需要消除任何单点故障。不光是网络上单点故障,还有来自你呼叫中心里的单点故障,只要有单点故障一定要消除掉。因为对于电商行业而言,每一秒都是钱,电子商务业务如果宕机一个小时,损失多少是可以算出来的,电商行业需要非常全面的技术系统监控报警系统。有时候你会发现你如果通过技术系统的监控去推导出你的技术发生问题已经晚了。