大数据听着很牛,实际上也很牛吗?

  就是收集很多用户数据,用机器进行处理嘛,干嘛整天吵得这么high。传统行业的数据,收集和分析慢,互联网时代特别是移动互联网时代,数据收集和分析都变得更快更智能,仅此而已吧。
  大数据为什么这么牛?答案在此
  真的是这样吗?今天我们来看看两位业内人士的深入分析。
  01、大数据的商业价值
  大数据是近年来新出热门词汇,人们对于大数据的理解还不够全面,甚至存在一些误区,认为数据量大就是大数据,或者认为里面数字大也是大数据,实际上这些只属于统计的范畴,和大数据是没有关系的。
  所谓大数据,其实是有两部分组成的。一部分是海量运算存储能力,一部分是数据建模算法。
  认为大数据是更快更智能的处理技术的人,只是认识到了大数据海量运算储存能力,而这部分只是量变,却没有认识到质变。
  如果针对消费者市场,大数据的目标是对每个消费者有清楚的认知和跟踪。
  你的年龄、身高、家庭背景、收入水平、信用水平等等这些表面的客观的信息自不必说,你此刻在哪里、喜欢什么颜色、喜欢什么风格、想要什么东西,都能够收集分析出来。之后便会在你正在看的视频网站、正刷的APP,所有这些界面上呈现信息,引导你关注。
  随着这项技术的进步,甚至可以提前预知你想要购买的东西,提前一步给你送达。可以想象一下,你想买一个东西下单二十分钟就到你家门口了,因为早就预测到你什么时候想要什么了,所以几天前预测到就提前发货到你小区的提货点了。
  这样的精准的服务,以后对消费者而言当然是习惯了就不再记得它有多伟大。就像过去的工业革命,只有经历那个时代的当事人那个时代的缔造者们才会对那些创造充满激情,而我们对随手可得的电和各种电器还会有什么惊喜吗?
  传统的数据行业,一没有足够强的数据获取能力,二没有足够强的数据加工能力。包括以前靠预测总统大选起家的那家公司,他们的采样是局限的,比如寄调查问卷,调查问卷这种采样是难以重现真实的,且基于传统的小样本统计方法。另外,数据处理能力也很有限。
  与之相反,大数据的采样是无法说谎的,你点击、浏览、地理信息等等这一切行为都在眼皮底下发生。这是大数据的第一个“大”,维度大。
  同时,数据采样是覆盖几亿人口全天候的。这是大数据的第二个“大”,数量大。相对传统的抽样小样本集而言,大数据可以称之为全样本。正是这两个“大”,就能够带来数据的质变。
  再看数据加工。传统的加工,恐怕多数人靠Excel吧!我们采一天的数据就能撑爆几万台你们家里的电脑硬盘。至于计算,可以想像一下,对这个数量级的数据矩阵做个最简单的矩阵分解要怎么实现。这是机器的能力。
  人的方面,现在很多传统的搞这些的统计方向的人经常会说,“唉,现在都搞算法去了”。没错,算法就是人与机器协作的沟通方式,只有和机器深度合作,才能得到更高的生产力。
  这一切,在消费者的眼里,也许也不是那么的了不起,不就是一下单马上就到嘛,不就是各种方便嘛,怎样还不是一样的活。但是这对商业而言却是惊天动地的。
  过去你卖衣服的,你的周转库存和滞销库存恐怕吃掉了你一半的利润都不止;一旦有了大数据支撑,你的库存几乎可以忽略了。过去你搞设计的,你耗尽心力设计出来的作品很可能在市场上得不到认可;有了这个精准大杀器,消费者的数据会告诉你他们要什么,你设计师锦上添花就好,真正的设计者其实是消费者自己。
  过去你搞营销的,投入一大笔钱搞个营销方案,结果收效甚微;一旦有了这个精准大杀器,营销的投入风险就低多了。
  大数据带来的精准对商业的影响是方方面面的。这是新时代对旧时代的淘汰。除了商业,还有大量别的用处,都将深刻地改变世界。比如个人征信、医疗行业、能源行业、公路交通等等。太多太多,这些都会深刻地改变世界的运作方式。
  02、技术角度分析大数据
  我有20个整数,一把全装进内存,调用个sort,完事了。
  我有2GB那么多的整数,一把全装进内存……恩恩,如果机器不那么破,勉强也完事吧。
  我有20GB那么多的整数,对,往你家PC里多插几条8GB的内存条试试?
  那我现在有200GB那么多的整数……看你丫的怎么装内存,哈哈哈哈哈哈!
  吓尿了吧!?写外排序?你写啊!It's ONLY the beginning!很多人可是连内存里的快排都写不出的哦~
  200GB算个啥大数据啊,苍老师的合集都不止咳咳……
  OK,显然我们已经意识到1台机器装不下了。咋办?多找几台机器呗。多找几台机器意味着啥啊?分布式计算懂不懂,连分布式都不懂说个毛大数据啊!!!
  好,现在有200GB的整数,排个序吧……呃,给你10台机器吧。
  这200GB的整数,如何分配?
  这10台机器之间如何通讯?没错,我不止坑了你去写外排序,我还得坑你去玩网络编程。
  假设每一台机器上的数据都已经完全排好,如何多快好省地把各自排序好的结果merge在一起?
  如何设计有效的merge逻辑减少10台机器之间的网络IO。
  别以为10台机器不需要维护,万一在排序的时候其中一台机器挂了,怎么办?具体包括但不限于:他在挂之前有响应其他机器发给他的request吗?他在挂之前自身的任务完成了多少了?假设这台机器在挂的时候正在跟隔壁的机器互相传输数据肿么办?
  谁去监听这10台机器的健康?或者是其他机器怎么知道某台机器挂了?如果是连接超时,怎么知道是网络阻塞还是目标机真的挂了?
  如果某台机器真的挂了无法恢复,又或者由于隔壁的黄大牛要打魔兽了劫走了一台(集群升级,集群中的节点被临时撤走的事常有哦),如何把那台机器上那20GB的数据分给其余的9台?
  如果数据不是200GB,而是2TB,2PB……
  这么大的数据,这么大的集群,同一时间挂掉的机器数量可能会很多。如果这个集群用来做存储(例如百度云),怎么保证用户的数据不丢失?
  如果这个集群用来做离线计算,怎么设计调度程序提高每台机器的资源利用率,减少集群内的网络IO和尽可能地提高每台机器的响应速度?
  我希望集群是可扩展的,最好架构能支持我只要简单地增加机器数目就能扩充集群的计算和存储能力,这个架构要怎么设计?
  建议题主有空去了解下mapreduce,hadoop,yarn,mpi,vfs等等内容。
  “传统行业的数据,收集和分析慢,互联网时代特别是移动互联网时代,数据收集和分析都变得更快更智能,仅此而已吧。”
  只所以题主会这么说,是因为题主作为局外人,能看到的就只有这些表面的最直观的现象。一句简单的“数据分析变得智能了更快了”的背后,实际上是无数人付出的勤奋、创造力、勇敢还有艰辛!
  马云爸爸说,未来是DT时代,大数据是最重要的资产。
  未来三至五年,中国需要180万数据人才,但目前只有约30万人。到2020年,企业基于大数据计算分析存储、数据挖掘、数据分析等数据产业的发展,我国需要更多的数据人才。