什么是大数据随谈

什么是比高达他?

比高达他?呵呵,其实我想输入“什么是大数据”,一不小心大数 据敲成了英文Big Data,就成了上面的“什么是比高达他?”,你大概猜到了我用的是什么中文输入法,呵呵,兄弟姐妹大叔大婶们,我们有很多共同点啊。

今天突然想起来前段时间一个在深圳工作的美国朋友问我,什么是大数据,多大才算大以至于我们公司才需要大数据技术?我当时给了他一些参考,他还不是很明确。

很有意思的问题,现在我想起这个,直觉告诉我,他们公司还没有到需要大数据技术的阶段吧。

所以就想了想这个什么是大数据的话题,只是随便谈谈,给个精确定义这种事情还是留给搞科研的计算机科学家吧。

从宏观角度来说,由于各种各样数据源的增长 ,譬如包括各 种移动设备(智能手机,平板电脑),感应器,监测摄像机,智能电网,社会媒体,在线交易等,我们要存储和处理的数据量急剧膨胀。据IDC统计,2011年共产生了大约1.8trillion GB数据(1 trillion = 1 million million)!这大约包括500 quadrillion个文件(1 quadrillion=1000 million million)。而且数据量仍以每两年翻番的速度在增长!除了数据量之大,另一个
现象是数据类型的多样化,归纳起来有三种,传统的结构化数据(譬如交易数 据,包括购买者姓名,产品名称,价格,日期等),非结构化数据(譬如一篇博客文章里的文本)和半结构化数据(譬如XML,email)。随之而来的一个鲜明特点是非结构化数据占据了整体数据量的90%以上!

什么是大数据随谈_第1张图片



面对 这样多样化大规模的数据,任何一个企业都面临提升数据处理速度的挑战! 这个包括两方面,首先,数据产生如此之快(想想Facebook一秒钟内产生20万了类似点击“Like button”这样事件 ),你的企业有足够大的存储空间来存储这样的流数据嘛?其次,响应速度。传统的数据库技术处理几个TB也许没有问题能很快响应,可是在面临上百TB就面临瓶颈了,更不要说如何快速处理大规模文本这样的非结构化数据了。

所以,下面这3个V的组合就给出了一个很好的大数据定义方式,或者说是大数据给我们带来的3大挑战!
  • Volume
  • Velocity
  • Variety
可是,对一个具体的企业来讲,多大的数据算大呢?

不好说,你不能给个具体数字,说,瞧,达到这个数量级了才算。我对我的朋友说,4TB算不算大?大嘛?也许大也许不大。要看你的需求,怎么处理这些数据。我举了个很有名的例子。纽约时报曾经需要将4TB的扫描TIFF图片(几百万个图片)拼成新闻文章并转换为PDF文 件。他们的技术团队想到了Amazon AWS。通过使用Amazon EC2 搭建运行一个有100个节点的Hadoop集群 ,他们只花了不到1天的时间便完成了该项任务。想想用其他技术,这个要花多长时间呢?

所以,我对他说,你这个数据量大还是不大,取决于你的应用是什么,你的应用的SLA(Service Level Agreement)或者说你的上司给你完成任务的时间,以及你企业现有系统的存储和计算能力。

O'Reilly Radar Team的Edd Dumbill这样定义“大数据”:大数据指的是你的数据超过了传统数据库系统 处理能力;你的数据太大,产生太快,不能放在你现有的数据管理系统中;为了从这些数据中提取(商业)价值,你必须选择不同于传统数据库技术的方法来处理他们。

也许我们可以打个有意思的比方,说如果你已经足够有钱,克隆了一个Facebook那样的技术团队 ,从一开始就构建了他们那样的体系结构,你又克隆了他们的Business Model,  你有大数据问题吗?多半你没有。因为你没有他们现有的用户群,Google+不是还在拚了老命和Facebook在争夺用户嘛,技术和产品可以克隆,但我们的上帝--用户不一定买你的账,没有用户就没有数据,就没有大数据问题。可是Facebook虽然有庞大的一流大数据系统,他们还是会不断面临大数据挑战,因为他们有大量的用户和不断产生的新数据。想一想,每个新老用户的数据都不能丢弃,是不是这样?假如我是Facebook注册的第九个用户(不要问我前8个是谁),我放了一张照片在上面,然后我就去火星转了一圈,现在回来了,我希望我再登陆Facebook,我仍然能马上看到我多年前的照片,如果3秒以内看不到,我头上就会冒火星,就这么简单。

所以下次我可以这么打个不礼貌的比方跟我的朋友说 ,如果你只有1万个注册用户,目前只用到一个MySQL服务器,只有1TB硬盘,你只有一台Web Server,你没有负载平衡,你的开发小组Release新版本的时候,就是简单的重启你的数据库和你的Web Server,你的客服却从来没有接到过用户抱怨类似为什么他们刚刚写的文章不见了的投诉电话,你没有大数据问题,但是请不要告诉别人这些;因为很多的人在绞尽脑汁给MySQL做Shardin g和配置主从Cluster,运行多台Web Server, 为其配置支持Session管理,并在前面加上负载平衡,配以CDN,配以MemCached或者其它in-memory cache,不会同时重启所有服务器以保证availability ,减少用户操作/数据丢失,另外他们现在又加入了一种叫做Hadoop的利器及基于Hadoop的各种analytics工具和系统做离线处理以进行数据分析,数据挖掘和机器学习以建立模型;他 们还拥有另一种利器叫做“NoSQL” ,来获得实时响应的性能;他们可能还拥有第三种利器,叫做什么,我也不知道,他们还在秘密研发中,我们拭目以待......

你可能感兴趣的:(大数据)