最早提出“大数据”(Big Data)时代到来的是全球知名咨询公司麦肯锡,麦肯锡称:“数据,已经渗透到当今每一个行业和业务职能领域,成为重要的生产因素。人们对于海量数据的挖掘和运用,预示着新一波生产率增长和消费者盈余浪潮的到来。
大数据的5V特点(IBM提出):Volume(大量)、Velocity(高速)、Variety(多样)、Value(低价值密度)、Veracity(真实性)。大数据时代的出现简单的讲是海量数据同完美计算能力结合的结果,确切的说是移动互联网、物联网产生了海量的数据,大数据计算技术完美地解决了海量数据的收集、存储、计算、分析的问题。
当我们最初谈大数据的时候,谈的最多的可能是用户行为分析。即通过各种用户行为,(以互联网行业为例)包括浏览记录,消费记录,交往和购物娱乐,行动轨迹等各种用户行为产生的数据。通过对用户各种行为产生的大数据进行分析、预测, 就可以帮助企业精准营销、风险管控,向企业提供决策支持,并辅助产品设计,提升企业的效率。
医疗大数据让预防和看病更高效, 生物大数据让改良基因有了可能,金融大数据成为投资理财利器,零售大数据最懂消费者,电商大数据是精准营销的法宝,农牧大数据可预测需求并量化生产,交通大数据方便百姓畅通出行,教育大数据辅助教育工作者因材施教,食品大数据可以保障舌尖上的安全,舆情监控大数据可预测数据预防犯罪......
大数据技术的发展带来企业经营决策模式的转变,驱动着行业变革,衍生出新的商机和发展契机。各行业的核心数据的相关性再加上可感知设备的智能数据采集,就构成一个完整的大数据生态环境。由此推动了企业的效率提升、科学决策、精细管理,更重要的是科学管理,数据治国。
1
云计算
云计算最初的目标是对资源的管理,管理的主要是计算资源,网络资源,存储资源三个方面。想象你有一大堆的服务器,交换机,存储设备,放在你的机房里面,你最想做的事情就是把这些东西统一的管理起来,最好能达到当别人向你请求分配资源的时候(例如1核1G内存,10G硬盘,1M带宽的机器),能够达到想什么时候要就能什么时候要,想要多少就有多少的状态。
这就是所谓的弹性,俗话说就是灵活性。灵活性分两个方面,想什么时候要就什么时候要,这叫做时间灵活性,想要多少就要多少,这叫做空间灵活性。
在云计算的发展过程中,云计算逐渐发现自己除了资源层面的管理,还能够进行应用层面的管理,而大数据应用作为越来越重要的应用之一,云计算也可以放入PaaS层管理起来,而大数据也发现自己越来越需要大量的计算资源,而且想什么时候要就什么时候要,想要多少就要多少,于是两者相遇,相识,相知,走在了一起。
2
大数据
大数据时代,众人拾柴火焰高
当数据量很小时,很少的几台机器就能解决。慢慢的,当数据量越来越大,最牛的服务器都解决不了问题时,怎么办呢?这时就要聚合多台机器的力量,大家齐心协力一起把这个事搞定,众人拾柴火焰高。所以说什么叫做大数据?说白了就是一台机器干不完,大家一起干。可是随着数据量越来越大,很多不大的公司都需要处理相当多的数据,这些小公司没有这么多机器可怎么办呢?
大数据需要云计算,云计算需要大数据
说到这里,大家想起云计算了吧。当想要干这些活时,需要很多的机器一块做,真的是想什么时候要就什么时候要,想要多少就要多少。
例如大数据分析公司的财务情况,可能一周分析一次,如果要把这一百台机器或者一千台机器都在那放着,一周用一次非常浪费。那能不能需要计算的时候,把这一千台机器拿出来;不算的时候,让这一千台机器去干别的事情?
谁能做这个事儿呢?只有云计算,可以为大数据的运算提供资源层的灵活性。而云计算也会部署大数据放到它的PaaS平台上,作为一个非常非常重要的通用应用。因为大数据平台能够使得多台机器一起干一个事儿,这个东西不是一般人能开发出来的,也不是一般人玩得转的,怎么也得雇个几十上百号人才能把这个玩起来。
所以说就像数据库一样,其实还是需要有一帮专业的人来玩这个东西。现在公有云上基本上都会有大数据的解决方案了,一个小公司需要大数据平台的时候,不需要采购一千台机器,只要到公有云上一点,这一千台机器都出来了,并且上面已经部署好了的大数据平台,只要把数据放进去算就可以了。
云计算需要大数据,大数据需要云计算,二者就这样结合了。
3
人工智能
虽说有了大数据,人的欲望却不能够满足。虽说在大数据平台里面有搜索引擎这个东西,想要什么东西一搜就出来了。但也存在这样的情况:我想要的东西不会搜,表达不出来,搜索出来的又不是我想要的。例如音乐软件推荐了一首歌,这首歌我没听过,当然不知道名字,也没法搜。但是软件推荐给我,我的确喜欢,这就是搜索做不到的事情。当人们使用这种应用时,会发现机器知道我想要什么,而不是说当我想要时,去机器里面搜索。这个机器真像我的朋友一样懂我,这就有点人工智能的意思了。
人们很早就在想这个事情了。最早的时候,人们想象,要是有一堵墙,墙后面是个机器,我给它说话,它就给我回应。如果我感觉不出它那边是人还是机器,那它就真的是一个人工智能的东西了。
怎么才能做到这一点呢?人们就想:我首先要告诉计算机人类的推理的能力。你看人重要的是什么?人和动物的区别在什么?就是能推理。要是把我这个推理的能力告诉机器,让机器根据你的提问,推理出相应的回答,这样多好?
其实目前人们慢慢地让机器能够做到一些推理了,例如证明数学公式。这是一个非常让人惊喜的一个过程,机器竟然能够证明数学公式。但慢慢又发现其实这个结果也没有那么令人惊喜。因为大家发现了一个问题:数学公式非常严谨,推理过程也非常严谨,而且数学公式很容易拿机器来进行表达,程序也相对容易表达。
然而人类的语言就没这么简单了。比如今天晚上,你和你女朋友约会,你女朋友说:如果你早来,我没来;你等着,如果我早来;你没来,你等着!这个机器就比较难理解了,但人都懂。所以你和女朋友约会,是不敢迟到的。
因此,仅仅告诉机器严格的推理是不够的,还要告诉机器一些知识。但告诉机器知识这个事情,一般人可能就做不来了。
于是人们想到:机器是和人完全不一样的物种,干脆让机器自己学习好了。机器怎么学习呢?既然机器的统计能力这么强,基于统计学习,一定能从大量的数字中发现一定的规律。听起来也没有那么有道理,但的确能做到,就是这么任性!
人工智能可以做的事情非常多,例如可以鉴别垃圾邮件、鉴别黄色暴力文字和图片等。这也是经历了三个阶段的:
- 第一个阶段依赖于关键词黑白名单和过滤技术,包含哪些词就是黄色或者暴力的文字。随着这个网络语言越来越多,词也不断地变化,不断地更新这个词库就有点顾不过来。
- 第二个阶段时,基于一些新的算法,比如说贝叶斯过滤等,你不用管贝叶斯算法是什么,但是这个名字你应该听过,这个一个基于概率的算法。
- 第三个阶段就是基于大数据和人工智能,进行更加精准的用户画像和文本理解和图像理解。
由于人工智能算法多是依赖于大量的数据的,这些数据往往需要面向某个特定的领域(例如电商,邮箱)进行长期的积累,如果没有数据,就算有人工智能算法也白搭,所以人工智能程序很少像前面的IaaS和PaaS一样,将人工智能程序给某个客户安装一套,让客户去用。因为给某个客户单独安装一套,客户没有相关的数据做训练,结果往往是很差的。
但云计算厂商往往是积累了大量数据的,于是就在云计算厂商里面安装一套,暴露一个服务接口,比如您想鉴别一个文本是不是涉及黄色和暴力,直接用这个在线服务就可以了。这种形势的服务,在云计算里面称为软件即服务,SaaS (Software AS A Service),于是工智能程序作为SaaS平台进入了云计算。
终于云计算的三兄弟凑齐了,分别是IaaS、PaaS和SaaS。所以一般在一个云计算平台上,云、大数据、人工智能都能找得到。一个大数据公司,积累了大量的数据,会使用一些人工智能的算法提供一些服务;一个人工智能公司,也不可能没有大数据平台支撑。
所以,当云计算、大数据、人工智能这样整合起来,便完成了相遇、相识、相知的过程。