前言
大数据,大数据,大数据,一个已经被人叫了N多年的词汇,无论是上世纪经历世界大战的老一辈,还是在小学读书的孩子们,几乎每一个人都对这个词语情有独钟
作者我是一名正在从事技术岗位的宅男,这些年来我一直在观察自己周围的朋友对于大数据的理解,但是发现大多数朋友对这个大数据还是有两级分化的情况:一个是神论派,将大数据描述的无所不能,而另一派就是无用派,一直声称大数据是一个时代的泡沫产物
我写下这篇文章主要是为了几个目的:
1、借用我微小的力量让度这篇文章的人能更加深入了解大数据
2、从技术的角度,让大家理性对待大数据这个词
3、为我之后的技术型文章(Hadoop系列)做铺垫
这篇文章面向所有类型的人,所以我也将用最简单的方式去讲述,文章质量如果大家不满意可以在留言区提下宝贵的意见
什么是数据?
百度词条的解释:数据(data)是事实或观察的结果,是对客观事物的逻辑归纳,是用于表示客观事物的未经加工的的原始素材。
我认为数据是用来记录,或者描述替代客观存在的一种方式,什么意思呢?
比如我上淘宝购买了一件商品,那么我在淘宝购买商品这么一个行为是客观存在的,而数据就是用来记录我们这么一种客观存在的方式,当然这个解释是我个人的理解,大家可以顺着我的思维去思考
既然数据是一种记录,一种客观的反映,那么我们必然会联想到《史记》等记录性质等历史书籍,的确《史记》上面记录的大多是客观存在的内容,当然也有可能有些内容是假的不准确的,我们可以通俗将这些叫做伪造的历史,那么信息化时代,我将称它们为假数据。
既然数据是记录客观存在的内容,那么假如我以一个人为目标,我记录他的每一次行为,每一次客观的行为,那么只要我的数据足够大,我是否能用这些数据来代替这个人呢?(站在数学的角度来说,这个是有可能实现的毕竟极限值也差不多这个意思),我称暂时称这个做法叫做人的数据化,一个存在世界上客观的人本身就是无法使用二进制的方式去代表他(机器只有二进制),那么既然如此只要我能使用能被二进制化的数据去描述这个人,那么他就能被客观数据化,纳入计算的范围。
哈哈,看到这里是不是开始感觉有点头晕了?的确这块内容比较拗,如果看不懂的朋友直接跳过上面那段吧,所以我们还是继续往下讲吧
数据何用?
这里可能就问到大家的痛处了,你说了这么多无非就是装个B就跑嘛,那么大数据到底有什么用呢?
还记得我刚刚提到的:记录你行为,将你纳入计算这句话吗?
我打个比方:在没有大数据的时代,你在一条偏僻的街道打车,可能你等了2个小时了,都没有出租车经过。那么我现在通过手机应用程序记录下:你准备在这个时候打车的这个客观行为,这个时候我用这条数据将你纳入计算,刚好,距离你4公里外有一辆出租车正在等待,于是接了你的单就过来接你,这就是为什么要将你纳入计算的目的了,人本身是不能参与数据的,但是能代表人的数据是可以参与计算的,而计算的另一个目的就是释放社会生产力。如果没有计算,这个时候你有需求,而司机他有资源,而他的资源却不能为你服务,那么这就是白白浪费了社会的生产力了。所以信息化优化资源配置,解放社会生产力,是以数据为载体的,数据本身又参与计算。
数据大在哪?
数据的大,其实是可能有两种情况的:一种是,数据本身的量很大,另一种是本身的数据量可能不是很大,但是处理后会变成很大的内容。
第一种类型,打个比方,如果你的角度是中国移动,那么你的大数据大部分是第一种情况,中国13亿人每个人,每天上网的内容,访问的网站都会记录下来,记住是都会记录下来,只要你打开了数据连接,哪怕只是电话的型号,你也是实时创造数据的,比如你的位置信息,你在当前基站附近停留了多久等等。那么当你打开手机上网时候有是另一种数据类型,所以大家可想而知,这样的数据量是有多大(将会使用兆亿的方式来统计了)
那么什么是第二种大数据类型呢?假如我目前有3个数:1,2,3
可以排列组合为 1,1,1——2,2,2——3,3,3——1,1,2——1,2,2——2,1,1——2,2,1——2,3,1——2,3,2——2,3,3——3,1,1——3,1,2——3,1,3——3,2,1——3,2,2——3,2,3——3,3,1——3,3,2(太多了不知道我有没有写漏),这种情况原始数据可能只有三个,但是经过计算后的数据却远远不止三个,那么如果我有1千个或者1万个这种数据呢?
怎么样有没有给吓到?
分而治之
从上面的内容可以明白,数据的意义是重大的,无论是解放生成力,还是优化流程生成都具有重要的意义,但是这么大的数据,怎么算,我们又不是上帝?
虽然我们不是上帝,但是我们具有和上帝一样的能力,技术人的眼中只有想不到的内容,没有做不到的内容——分而治之是最好的方式
什么是分而治之呢?
中国人常说,众人拾柴火焰高,众志成城,万众一心等等,对既然一个人的力量不行那么就聚集千万的力量一起来。1万块给一个人自然会很多,但是如果把这一万块分给1万个人,每个人只有一块,那么你还会对这笔钱心动吗?哈哈哈,感觉有点强词夺理了。
所以大数据也使用了这个思想,而如今世界上最成熟这种分而治之的技术就是Hadoop了,一个由java开发的大数据框架,现在能明白了为什么java能久居语言榜首而不下第一了吗?(这个是题外话)
如图:
当然分而治之,不只是在大数据领域,在计算机里面遇到大的东西基本上都能用分而治之解决,比如最典型的负载均衡等等
结尾
技术人才使用各种资源的整合大数据,让如今的大数据能几乎做的无所不能,但是记住大数据也是有局限性的,比如数量巨大无法纳入计算,数据杂乱没有条理,等等,但是记住人是灵活的,一把神兵利器要给会用的人,才能用出震撼世界的力量,再好的武器,给不懂使用的人用,都只是一把废铁而已,当然同一个东西给不同的人使用,也会有不同的结果,所以理解大数据存在的意义,应该是做大数据技术员们首先要贯穿的任务
以上是大数据基本的一些概念原理型的介绍,在后面的几篇文章,本人将会围绕世界上最火的大数据框架Hadoop,让技术的朋友们站在技术的角度去理解大数据的魅力
下篇文章将会和大家介绍以及讲述,Hadoop