你好,游客 登录
背景:
阅读新闻

杂谈国内Hadoop的热潮:以辩证的眼光来看待

[日期:2015-01-29] 来源:钛媒体  作者:大数据蜗牛 [字体: ]

 

      hadoop本质来说仅仅是个存储模型,这个存储模型附带有一种计算模型(map reduce),国人一上来可能比较生疏,但是hadoop仅仅是个基础模型。

      数据库技术兴起的时候,那个时候连foxbase都很抢手,历史证明了真正带给人们价值的不是数据库,而是ERP。IBM整个软件体系不怎么搞应用,搞得 都是基础,db2,websphere,rational,tivoli,lotus,结果一败涂地,这可是很近的历史事实了。我做个比较:

► db2-mysql

► websphere-nginx

► rational-那个UML其实没什么大的作用,并且各种替代品

► tivoli-各种存储,廉价硬盘就能把tivoli替代了

► lotus-openoffice,并且支持智能手机

      当年IBM对这一套底气很足的,我记得一篇报道说,人家IBM承诺不做应用,意思是不和自己的合作伙伴竞争搞应用软件。

      接着说大数据,我曾经去过一家公司面试,我当时是搞数据库的,感觉那个职位自己应该是胜任的,结果面试官一上来就问,你知道哪些数据仓库的模型?我一听就傻了。搞得好像hadoop一出,数据库就被秒杀了一样。

      hadoop本质来说仅仅是个存储模型,这个存储模型附带有一种计算模型(map/reduce),国人一上来可能比较生疏,但是hadoop仅仅是个基础模型。

      hadoop的存储模型本质来说其难度没有超过数据库的难度,加上计算模型也一样。

      历史告诉我们的结论是,hadoop作为基础结构没有价值。

      那什么是有价值的?只有说当你的业务存在时间维度上的价值的时候,hadoop这个模型才有价值。有时间维度的业务不多,真的。对于一家互联网公司来说, 半衰期大约=5年,甚至更短。也就是说,5年后,市面上的新兴的这些互联网/移动互联网公司要去掉一半。这其实是个很保守的数字了。5年根本谈不上你的数 据还要有什么时间维度上的操作。再看看电子商务,网上是一些比较新潮的商品,5年之后早就更新换代好几批了,也就是说相对于公司的半衰期,商品的半衰期更 短。

      其实真正具有时间维度上的要求的数据是金融数据,然后就是搜索引擎,再次是电子商务,进入移动时代,数据是移动的,数据瞬间消失的就跟那个玻色子一样。数 据就是在K-V里面的,支付也是如此,数据过了有效期,那只能重新连接重来了,数据失效了,支付失败了,记录这个失败没有意义,及时处理支付失败才有意 义,数据在时间维上不是越来越大,而是越来越小。

      那大家为什么hadoop一哄而上?这个背后肯定是有推手的,目的就是让大家跟着倒霉,唯我独大。为什么这么说呢,因为这个hadoop技术是有陷阱的,这个陷阱就是java,历史告诉人们什么呢?

      我这一代人,整个70后80后,黄金一代,毁在java手里。原因是什么,我也不知道。事实是什么,这个我经历了,就知道了。

      现在说这个可不是什么经验之谈,这是常识之谈。打着数据挖掘/机器学习的招牌搞大数据,十有八九也会被大数据胡弄了。因为它的根底就比较浅。hadoop的根底浅,java技术毁人不倦,不满足业务上的半衰期。

      然后再来说机器学习,很奇怪,hadoop根底浅,机器学习也跟着上不了什么很高的档次。我也去过一家公司面试,还是个上市公司,一进去直觉告诉我,这家公司已经不怎么地了。但是整个数据挖掘机器学习的面试,感觉很不爽。我大体上说一下,模式差不多。

      统计基础+矩阵运算+SVM机器学习流派+信号识别(所谓深度学习)

      公司已经快不怎么样了,这些机器学习的大师们拿着这一套好像就跟阳春白雪一样,自我剪裁一番配上大数据hadoop就无敌了。

      就这些,核心还是贝叶斯模型,翻来覆去的贝叶斯模型。问题就是,贝叶斯模型真的比传统数据库的关系模型强吗?不是说一定是否定的,只要不是绝对肯定的,你的业务就跟着over了。问题是,人们需要哪家公司用自己的业务去检验贝叶斯模型?

      我只谈数据仓库,因为这是我觉得最容易入门、最有用、最难用好的技术之一。

      出现数据仓库这概念的时候,貌似还没有hadoop呢。

      数据仓库存储的是原始数据经过一定的业务、维度聚合获得的中间数据。模型价值很大,过去大数据处理都是先建立数据仓库模型。

      若是做数据库不知道数据仓库、ETL技术,无论你用什么数据库,大数据量时都是有局限性的。

      举个例子最简单的例子,你有用户的交易流水,每天24亿条新记录。你需要做个系统查询,统计一定天数的交易总金额。

      那么,一个简单的数据仓库就是,每天计算一次前一天交易总额值后存在一张以天为单位的表里,这样每天计算一次,表每天增加一条记录。查询天交易总额是我只需要查询这张以天为单位的表就行了。通过这张天为单位的表,很快的计算周,月,年的数据统计。

      这张表就是一个最简单的数据仓库,每天从原始数据计算这张表的过程就是ETL。

      使用数据库的人一定使用或接触过数据仓库,只不过自己没意识到而已。

      也许你会问如果我要查3天前~到现在9点20的总金额怎么办?这时我们只需要当天的原始数据(实时数据),在加上之前设计的中间表里3天的汇总数据即可。

      一个良好的,持久稳定的,针对大量数据产品,必须有良好的数据仓库支持。

      PS:现在大家都跟风追hadoop,领导觉得好非让你用,你也没办法。

      毕竟现很多时候谈客户,别人都吹hadoop技术,你说你不用hadoop,绝对是你悲剧。





收藏 推荐 打印 | 录入: | 阅读:
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款