Hadoop的作用到底是什么?
国内的几大互联网巨头和中国移动等都在研发自己的类Hadoop平台,看来大家都不是太想使用Hadoop。 的确,目前的Hadoop还不够成熟,使用Java作为开发语言成了不可跨越的沟,虽然其集群的存储和计算能力非常强大,但无疑单机的作战能力也不能太低,从成本上来说,在满足线性扩展的前提下,单机的能力提升一倍,则可以节省一半的成本,而Hadoop集群通常都由近几十个节点,甚至更多节点组成,节点数减少,不但直接降低了硬件采购成本,还会持续降低运营的成本。
此外,Hadoop的成功在于开源,多方共同努力的结果,特别是Yahoo和Facebook等的伟大贡献,甚至IBM和Google也做出了贡献。就Hadoop而言,开源是把双刃剑,由于缺乏仔细设计和构造,Hadoop一直未能发布1。0版本,从现状来看,还遥遥无期。
虽然很多代码写得很精妙,但整体结构混乱。 Hadoop的作用到底是什么?对于要求不高的组织来说,Hadoop完全可以凑合着使用。但是,对于有复杂需要的组织来说,Hadoop在很多方面还不够,包括稳定性、性能、易用性、可维护性、可测试性等。
特别是在MapReduce层,还未解决线性扩展问题,而且没有任何组织在做这方面工作,只有建立在MapReduce之上的Pig和Hive为此努力,但终只是治标不治本的问题。 从Hadoop的mail-list了解到,Pig也正在加入SQL支持,这是一个非常好的消息,不过还未能打听到具体的对外发布日期,希望在年中之前可以出炉。
Hadoop对一般用户来说,带来了免费大餐。对少数有实力的用户来说,则是带来了新的思路,或者说敲醒可能更好。Hadoop告诉我们,要跨过过去的思维,使用新思维来解决海量数据问题。抽象点说就是应用分而治之这一古老的方法,但很多时候,我们常常忘记它。
shared-nothing是一个很早就存在的架构,但Hadoop让更多人了解了它,特别是它在线性扩展方面的明显优势,当然也让人了解了其最大的不足。