一、什么是大数据
无数人在讲大数据,连国家统计局局长都要求开展大数据统计,可是到目前为止,我国并没有真正的大数据的定义。百度给出的大数据定义全文如下:
大数据(big data),或称巨量资料,指的是所涉及的资料量规模巨大到无法透过目前主流软件工具,在合理时间内达到撷取、管理、处理并整理成为帮助企业经营决策达到更积极目的的资讯。
看完之后,我想绝大多数人还是搞不清楚什么是大数据。这个有其必然性。一方面是因为“大数据”这个概念的起源就是相对模糊的,其次是中国目前对大数据概念的误读和滥解,还有就是一些所谓专家的“毁人不倦”。
(一)、大数据的起源
大数据起源于互联网的发展,其直接起源是我们非常熟悉的一个东西:搜索引擎。我们在搜索引擎中输入一个关键字,搜索引擎会在零点几秒内返回上百万个搜索结果。之所以能做到这样,首先是因为搜索引擎内的数据库储存了以你键入的关键字为“标签”的网址;其次是搜索引擎内部有一个快速的查询方法,能够在很短时间内快速的查找完整个数据库,并将结果反馈出来;第三,为了确保反馈给用户的搜索结果是最新的、最全面的,必须要对这些关键字的“标签”和其对应的网址进行即时的更新。
整个过程,涉及到的数据是非常庞大的:第一,搜索引擎的用户数量以亿记,数据巨大;第二,用户给的关键字数量无比巨大,每个用户每次搜索的关键字都不会相同,不同关键字的组合造成了关键字数据的巨大;第三,关键字对应的网页数量巨大。键入一个关键字返回的网页数量可以是上百万的。……整个情况造成了搜索引擎索要存储的数据非常巨大。采用过去那种结构性数据的存储方式+以往的数据搜索(检索)方式对搜索引擎的用户来说将是不能忍受的——想想你在电脑里以一个比较模糊的关键字查找一个word文档的时候,电脑常常需要让你经历数分钟的等待——任何互联网用户都无法接受等待数分钟而网络页面无显示,那只能让用户关掉浏览器。此时,搜索引擎界的巨头google公司开启了一个新的项目组,名字叫NUTCH,中文翻译过来叫“爬虫”——别问我为什么叫这个名字,外国人起名字的时候大多数都是随性的,比如JAVA,就因为当时的那位工程师正在喝一杯产自“爪哇”的咖啡豆磨制的咖啡——这个google的“爬虫”项目组的任务就是开发一个能够不停的到处寻找网站页面的“爬虫”,然后对google的搜索引擎内的数据进行更新。为了准确描述“爬虫”的功能,google的工程师创造了一个概念“Big Data”,这就是大数据的起源。
从大数据的起源我们可以看出,当时“大数据”的定义还相对简单,那就是:数据量非常庞大的数据,所以我们国内常常将“Big Data”翻译成“巨量数据”。
随着信息技术的进步,特别是数据采集技术、数据存储技术及数据传输技术和移动网络技术的进步,世界上的一些政府或一些大型的企业喜欢对各种各样的数据进行记录。比如,最常见的当属搜索引擎的搜索记录,现在搜索引擎公司经常对用户的搜索操作进行记录并分析用户的爱好和习惯。还有“棱镜”事件曝光的对通话的记录,其实我想说的是,很多国家通话都是会被记录的,在我国你也可以拿到你的通话记录单不是么,只是你拿不到你的通话内容而已。无处不在的摄像头会记录你的行踪,住酒店时登记的身份证信息会被保留半年以上。当你使用一个智能手机,你的位置信息就有可能被记录……这些记录有些是针对某个人的,有些是针对某一方面的,甚至很多是无任何理由仅仅是随机的。
我们以无处不在的摄像头为例,来讲一下什么是“大数据”。首先,摄像头得到的数据是视频文件,和我们常见的各种表格完全不一样,这就是“大数据”一个非常重要的特征——不具有结构性或者说数据结构复杂,这也是“大数据”的魅力所在。马克思哲学告诉我们“万事万物都是有联系的”,要想真正的搞清楚事物之间的关系,就必须要完整的记录事物之间的所有要素。要素可以通过抽取形成一个结构性的数据,但是抽取的过程是人为的,一方面必然不够全面,另一方面无论多全面的抽取都无法完全的描述事物。这个道理很简单:我们可以用很详尽的数据去描述一个人,但是无论多么详尽的数据、多么形象的语言都不如一张照片来的直观和真实。更进一步,无论多少张照片,都不如一段视频来的真切。“大数据”的主要研究内容就是通过高技术手段对非结构性数据的采集、存储、操作和传输。
其次,摄像头并不一定是针对你一个人的,无数的摄像头往往只是在记录其视线内的一切,并不一定是为了记录某一个特定的事物。而且,其记录的数据不仅仅是某一方面,而是全部。这就是“大数据”的另外一个特点——数据的不确定性。这种不确定性体现在两个方面,一个是数据对象的不确定性——你不知道谁会出现在镜头里;另外一个是数据内容的不确定性——你不知道画面里的人会做出什么事情来。
第三,对于记录下来的视频(数据),目前还没有现成的操作技术。比如,我们现在需要从一个500M的视频文件中找到某个人是否曾经经过,我们没办法像结构性数据那样通过“查找”功能查询。我们要想统计某一时间段内摄像头前经过的人数,我们也没办法通过“加法”计算得到结果。
(二)、“大数据”与“海量数据”
讲到“大数据”就不能不提“海量数据”,因为有无数的专家把“大数据”也说成是“海量数据”,因为在他们看来“大数据”和“海量数据”就是一码事,之所以有两个名字是中国人翻译的不同,就像“岳飞”和“岳武穆”的区别——对于这个,我只能说,中国的专家害死人。
要想讲清楚“大数据”与“海量数据”的区别,还真的要费点脑子了,但是这两个概念一定要搞清楚,我个人觉得,这两个概念的混淆是造成目前中国“大数据”泛滥的主要原因之一。
1、“海量数据”的定义。
我们先从简单的来,先讲什么是“海量数据”。
“海量数据”是我们中国人自己的翻译,其中“海量”的英文原词是massive,意思是“巨大的、大规模的”。如果按照朴素翻译法翻译过来应该是“大量的数据”或者“大规模的数据”,可能是中国的那些专家学者觉得这个翻译太“乡村”了,就按照中国人的语言逻辑翻译成了“海量数据”。当然,中国确实有一个公司,名字叫“海量数据”,对应的英文翻译是“Sea data”,他们确实是做数据这块的。可见“海量数据”其实是中国人自己造的一个概念,只在中国国内流行,你对一个外国学者讲“Sea data”,他是听不懂的。在这里我想纠正的是“海量数据”的正确讲法是“massive-scaledata”或者“massive data set”(对应的中文翻译是“大规模结构性数据”或者“大规模数据集”),无论是哈佛的教材还是MIT的专著都是这两个词组,所以千万别说“Sea data”。
“Massive-scale Data”或者“Massive Data Set”的来源是什么呢?是数据库,之所以有这个概念是因为数据库储存的内容越来越多、越来越大,最后就成了“大规模”数据了。
2、数据、信息、知识及数据库
讲到这里就要做另外一个科普了:数据、信息、知识及数据库。
“数据”的定义比较复杂,书本式的定义是:在计算机系统中,各种字母、数字符号的组合、语音、图形、图像等统称为数据,数据经过加工后就成为信息。——定义的每个字大家都认识,但是就是看不懂整句话说的是啥……没关系,别灰心,这个定义对于专业人士都不是很好懂,更别说非专业人士了。我给你一个通俗的定义:
数据就是对事物的描述。
这个定义很通俗,可是肯定还有人搞不清楚,没关系,我来继续用更通俗的语言讲明白。比如,你在网上认识了一个姑娘,人家对你有那么点意思,让你介绍下你自己,你要怎么介绍呢?
常见的介绍方式可能是这样的:我叫XXX,男,出生于什么时间,今年多大,身高多少,体重多少,籍贯是哪里,毕业于什么学校,什么专业,现在干什么工作, 月收入多少,家里有什么亲属,有多少财产……最后,姑娘可能还要你发张照片给她看看,还想要你讲两句话,听听你是不是聋哑人……
这上面的每一项都是对你自己的描述,每一个描述的内容都是数据。另外,数据不一定都是身高多少厘米、体重多少千克这样的数值形式,还包括你的照片、你的声音这些非数值的数据。但是不论是那种形式,数据都有一个特点,那就是具有固定的结构。
什么叫固定的结构呢?简单的说就是你在描述你自己的时候,不论你描述的方面有多少个,但是总数是有限的。描述一个人其实最多也就三五十项,因为人的各项属性在一个时期内是相对固定的。
不得不承认,有些数据是持续变化的。比如要描述一辆行驶中的汽车。你要告诉别人,汽车的品牌、型号、颜色等数据,还需要持续的告诉别人时间及此时汽车所在的位置(经纬度坐标)、时速、剩余的汽油量等数据……每一分每一秒,汽车都是行驶中的,那么很多数据也是变化的。对于一辆汽车来说,我们用一张比较大的表就能记录这辆汽车在一段时间里的各项数据了。大家可以试着画出一张记录汽车行驶的表格来。能用表格记录的数据都是结构化数据。
在数据层次之上的是信息。“信息”的概念现在很泛滥了,也就不太好定义。我们继续用上面那个描述人的例子来讲。你对那个女孩讲了很多,身高啊、体重啊、收入啊、存款啊……林林总总几十条,那么女孩子最后是不是把这些都记住呢?其实女孩子并不想知道这些数据,她更想知道的是你是不是“高富帅”。比如,你告诉女孩你有一百万万元的存款,这“一百万”是数据,女孩子更想知道“一百万”在你们当地是什么水平——在中西部地区一百万的财产算是富有了,但是在经济发达的江浙地区,可能就只算是普通了。“一百万”算是数据,你是不是有钱人就是信息——信息是数据经过加工后得到的。
再比如,有3个人的身高数据,分别是168cm、170cm、172cm。当我们看到这三个人的身高数据时,我们能得到什么信息?基本上没什么信息可言:你无法确定三个人是高还是矮。如果这三个人是篮球运动员,那么这个身高算是矮的了;如果这是三个高中生,那么说明这三个人发育正常;如果告诉你这是三个女孩子的身高数据,你肯定觉得这三个女孩子很高……同样的三个数据,得出来的信息是完全不一样的,因为“加工”过程不一样。——这就是“数据”和“信息”的区别。
那么到底什么是“信息”呢?
信息是对事物的判断。
需要注意的是,信息只是对事物的判断,至于是不是正确的判断,不是确定的。比如,一个招聘经理拿到一份求职者的求职表,经理通过表中数据的描述得到一个判断:这个求职者符合职位要求。这个判断不一定就是正确的,因为这个经理的判断是基于某些特定背景的,一旦背景改变,判断的正确性就可能发生改变。
要想得到必然正确的判断,就必须要有更多的信息,这是常理告诉我们的。当我们拥有的信息足够多的时候,就能够获得必然正确的判断,这种必然正确的判断我们在某些场合称之为“公理”或者“道理”,这就是信息的更高层次“知识”。
要想从信息中得到知识,需要占有大量的数据,并且经过大量的分析研究,这个过程叫“数据挖掘”,或者“知识发现”。这就造成了人们对大量数据的需求。比如,要研究全中国人的身体数据,就需要获得全国人的身体数据,至少是中国一半以上的人的身体数据,否则就不能称之为全国数据。——当然,可以采用一定的抽样方式进行抽样调查,并通过估算得到全部数据,但是其基础是数据服从一定的分布规律,如果数据分布不具有规律性就不能用抽样法,只能全面调查。——总之,人们希望掌握更真实、更准确。更全面的信息,所以就要求占有更长时期、更大范围的数据,这就造成了“海量数据”这个概念的出现。
从上面我们可以看出,“海量数据”其实质是更多简单的结构化数据的增长,是数据量的增长。不论数据量有多大,其最基本单元都是简单的结构化数据,都是可以通过目前数据库进行存储和操作的数据。数据量的大小,只是决定了数据库存储和操作的困难,而不能决定现在的数据库软件是否能对“数据”进行操作——虽然操作有困难,但是还是可以操作的。这么说可能不是很好懂,我举个例子来解释下:如果我们只希望知道一个村里所有人的身高数据,我们只需要调查一个村几百人的身高数据就可以了。但是如果我们希望知道一个省所有人的身高情况,就需要统计全身几千万人的身高数据——这里,我们采用全面调查方式。——几千万人的数据和几百人的数据相比,全省的数据就是“海量数据”。但是无论是几千万人还是几亿人,数据的形式都和一个村的人的结构是一样的。也就是数据的结构没有不同,只是数据的量增加了。当我们需要存储一个村里几百人的身高数据时,我们只需要在一张纸上打印出一个表格就能记录完。存几千万人的数据,可能需要几万张纸,但是纸上的表格是一样的。
3、“海量数据”的技术关键点及应用意义
通过上面的介绍,我们很容易明白一个事情:海量数据其实就是数据量很庞大的数据。“海量数据”面临的主要困难一是存取技术,二是操作方法。
存取技术是“海量数据”面临的主要困难之一。存取技术是指将数据从存储介质中读取出来或者写入进去的技术,“海量数据”之所以面临这一困难,就是因为数据量过大。我们电脑硬盘的容量可以做到很大,500G容量的硬盘现在很常见,但是我们电脑的内存容量现在常见的也就是4G,扣除操作系统占用的一部分,能给数据使用的内存也就在2G的样子,也就是说我们的电脑一次性能够从电脑硬盘中取出来的数据大小是2G。这个2G也只是个理论值,实际上远远达不到,因为还要给数据留很大的“加工”空间,一次取太多电脑就会卡的没办法使用了。比如,我们如果一次性打开一个100M大小的excel文件,电脑就基本上卡的不能动了。而实际中,“海量数据”往往有好几个G的大小,甚至是上百G,这就需要我们想办法,让电脑一次取其中的一部分,取出来之后按照我们的要求进行一些“加工”,然后把“加工”的结果先存在一个地方,再继续取第二部分数据……这就是数据存取技术。
至于操作技术就更好理解了。我们把数据取出来,是要对数据进行一些操作的,我上面一直用的“加工”这个词,意思是一样的。如何对“海量数据”进行“加工”,需要一定的技术。我们小时候有个故事,讲从1加到100,普通人是1+2+3……的方法,而有个神童用(1+100)X50的方法,前面一种方法操作了100次加法计算,而后一种方法只计算了3次,两次计算的时间差可能在十分钟以上。对于1到100的加法这种小数量数据的简单计算,多花十分钟可能还能忍受,如果是从1加到100亿呢?可能多花的时间就是十天,这将是我们不能忍受的。
无论是存取技术还是操作技术,都是在数据库的范畴内进行的。世界上那些数据库公司的主要工作就是改进这两项技术。通过数据库技术和电脑硬件技术的发展,对于“海量数据”我们是一定会有办法利用。
之所以对“海量数据”讲这么多,一方面是为了区分“大数据”和“海量数据”;另一方面是因为目前绝大多数甚嚣尘上的所谓“大数据”,其本质是“海量数据”,这也就决定了目前我国对数据的应用研究方向应该是“海量数据”而非“大数据”。
“海量数据”的研究,其实可以得到很多我们未曾知道的、甚至是非常有趣的信息。比如,通过对长达数十年经济发展数据的研究,可以得到经济发展周期规律的信息,从而提前预防经济危机;通过对全国城市经济数据的研究,可以合理的确定城市发展潜力等等。对于“海量数据”的应用,现在有数据仓库技术、数据集市技术、数据挖掘(也叫“知识发现”,其实整个数据库理论体系相互之间都是通的)技术等现成的技术,常见的方法有“模糊集”、“神经网络”、“遗传算法”、“决策树”等等,而且很多工具都已经被开发出来,可以直接使用。
二、大数据的特点
专家归纳的“大数据”的四个特点是4个“V”——Volume,Variety,Value,Velocity。用中国话说就是“数据体量巨大、数据类型繁多、价值密度低、处理速度快”。个人感觉,总结的很完善、很全面、很废话。“大数据”的特点,简单言之就一个——“大”,要不然就不会称之为“大数据”了。
这个“大”主要由2个方面决定的:一是数据对象的不确定,二是数据结构的不确定。
(今天居然写不完了,就先写个提纲。等以后有时间在慢慢写吧。)
三、大数据应用的关键技术及目前限制大数据应用的主要问题
大数据应用的关键技术主要是四点:
一是数据获取。谁占有数据、谁就占有主动,数据为王。数据的采集或者说数据的获取是“大数据”时代的核心。数据获取的困难主要有2方面:一个是数据记录的方式。需要长时间、大空间范围内的不间断的记录数据,这需要信息和自动化技术。可以通过“物联网”的建设,使用手机、电脑、GPS、监控等等各种终端获取数据。二是牵扯到人的隐私问题,这个在法理上很难通过,所以全世界基本的都是只做不说。
二是数据的存储。这个难度不大,但是也是需要解决的一个问题之一。并不是仅仅的存,而是要有一定规则的存放。因为数据本身不具有结构性,就决定了数据的存储一定要有规则,否则数据的意义将大打折扣。比如:我们电脑中存放的照片如果不按照一定规则建立一个个文件夹分开存储,那么我们查找起来将非常非常困难。如果我们在存储的时候,写清楚照片拍摄的时间、地点、拍摄的人物、主要内容等信息,我们可以很容易的找到需要的照片。这里面要应用到“元数据”技术。等有时间我专门写“元数据”及其应用。
三是数据的操作。这个是最困难的,目前虽然很多人在研究,但是真正成熟的技术还没有出现。可以使用的技术主要是人工智能和机器识别,比如从视频画面中捕捉某个人的头像,一旦出现画面就定格。或者自动对某一敏感词的语音通讯进行记录。
四是数据传输。主要传输是从数据采集端到处理端的传输,和分布式处理(云处理)过程中数据的传输。
四、大数据给我们带来的风险
这段我就不写了吧,引用一篇文章,大家看看就是了。
大数据时代你我无处可逃
大数据时代,个人陷小数据思维,隐私惨被掌控操弄。
美国政府在全球大规模收集和监控通讯信息在斯诺登向媒体披露后引发了公众的强烈反响,然而《大数据时代:生活、工作和思维的革命》(Big Data:A Revolution That Will Transform How We Live, Work, and Think)一书作者之一维多克.迈尔.舍恩伯格(Viktor Mayer-Schonberger)上周在香港大学的演讲中说道:斯诺登事件让我唯一惊讶的不是「棱镜」计划本身,而是公众还是「小数据」思维,对这个计划如此惊讶。
「我可以根据你玩的游戏判断你是不是同性恋。」
就还在两年前,我们还只能在电影或科幻小说中看到这样的情景:一早起来,你的手机就为你安排好所有的事││为你规划去公司交通最通畅的行车路径,帮你找了一家会让你惊喜的新餐馆,为你订了你最爱的演员演出的新电影││你的手机胜过最了解你的朋友,它能洞悉你的一切。
这梦幻般的预言在短短两年时间里已逐渐变成我们依赖的生活习惯。facebook会根据你表现出的网络社交习惯判断你跟众多facebook好友的亲疏关系,从而对你的动态新闻进行排序;Gmail会根据你的搜索习惯以及最近的邮件题目向量身定做广告。
谷歌利用上亿用户的行为,经过后台运算,预测流感疫情的趋势,结果与实际情况对比准确率惊人;惠普根据三百万条推特数据去预测还未上映的电影的票房,结果也是惊人地准确;微软通过上亿条翻译数据研发出英汉同声传译的机器人……
舍恩伯格在他的书中总结「大数据时代」的三个特性:数据分析的样本由随机抽样变为全部数据;数据分析结果的精确性让位于混杂性,只能得到各种结果的概率;数据分析由因果分析变为关联分析,也就是说你只能知道是什么,不能知道为什么。
鼠目标点击就能作分析
在「大数据时代」中,我们在不知不觉中生产大量数据,又在被自己生产的数据影响。你搜索的记录,甚至你鼠目标点击的位置都能成为分析你喜好,定位你个人信息的数据。所以有人曾说:你装个游戏并允许系统提取你的GPS位置,研究机构就可以知道你是不是同性恋。这并不夸张。大数据的主要技术是通过网络连接使计算器拥有超级运算能力。这如同一个黑匣子,输入我们不知不觉中生产的大量数据,经过大量云计算,最后输出的是我们喜欢什么,想要什么,甚至我们是谁。
在互联网的世界,没有绝对的「安全」和「隐私」可言。香港互联网协会网络保安及私隐小组召集人杨和生在一次采访中曾说,任何一个懂得网络管理的普通人都可以轻而易举进行网络监控。一个电子邮件的传送,中间会经历多个关卡,每个关卡都有被攻破、信息被盗取的可能。香港大学信息保安及密码学研究中心副主任邹锦沛在上周的「大数据、网络间谍与信息保安」研讨会中指出,国家级的网络入侵,普通人完全无法防范。
一个鼠目标点击都会成为分析个体的数据的大数据时代,你在网络上的所有行为会转化为数据进入第三方服务器,之后的结果你根本无法控制。更重要的是,在大数据时代,软件的用户体验到了极致,这似乎是温水煮青蛙,人们开始无比依赖通过网络分享带来的快乐,而把安全与隐私放在了脑后,以至于等到警醒的时候为时已晚。
今年年初,世界经济论坛发布了一份名为《解除个人信息的价值:从收集到使用》的报告,建议要限制数据的使用,通过新型技术让个人能够控制自己的信息安全。
避免留下隐私的足迹
迄今全球还没有就如何控制信息流形成正式的法律、技术、经济或管理框架。而作为普通人,唯一能做的是尽量减少在公共网络空间留下隐私的「足迹」,例如在勾选「我愿意提供位置数据」时三思而行,以及在决定接受免费网络服务之前认真阅读隐私条款。
大数据时代下的「棱镜」折射出了互联社会个人岌岌可危的隐私安全。只有数据操作者提高透明度,尽快规范相关行为,才能促使对数据的合理利用。毕竟没有坏的技术,只有错误的使用目的。