`
langyu
  • 浏览: 883893 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

对Hadoop的SWOT分析

阅读更多

在当前大数据研究与应用如火如荼的时代,Hadoop毅然成为业界的翘楚。我想本着客观的态度,从旁观者的角度分析当前Hadoop所面对的机遇与挑战。在我的认识中,SWOT分析还算全面,所以就选择这样的分析思路。当然,我分析Hadoop的初衷是我认同Hadoop所代表的方向,但不具体只是Hadoop这个产品。这个方向就是以Hadoop为代表的大数据的存储与分析平台。因此后面描述Hadoop的方方面面,同样适用于Hadoop的兄弟们。

SWOT分析是一套标准的认知模型,通过分析目标内部与外部所面临的机遇和挑战,可以对目标有全面准备地了解,一般适用于决策分析。如果想更多地了解SWOT,请参阅SWOT分析方法
当然下面的细节分析也会按照由内到外,由机遇到挑战来逐一展开。有任何疑问或不认同,请与我讨论。如果你有更多的看法,请不吝赐教,在此提前感谢!

内部
        优势:
        1. 现成的系统
        一个现成的系统比任何的观点理论都更有说服力。GFS因为尽快推出成熟版本而在Google立足更加证明这个观点。Hadoop平台经过八年的发展,已经在很多公司担当基础的大数据存储与分析任务,这足以说明它相当优秀。

        2. 活跃的社区
        这是一个很多人维护的平台,其中不乏赫赫有名的牛人和众多孜孜不倦努力完善它的爱好者。它的社区纵观整个Apache系统圈都是相当出众的。mail-list每天都有很多新的bug、 improvement和patch。不断有人来回答新人的提问。有人提出质疑就会有人来解答。他们是Hadoop的血液。

        3. 庞大有效的生态圈
        整个Hadoop生态圈越来越让人吃惊和感到压力。更多的衍生系统出现,丰富着Hadoop能涉及的领域。实时搜索、数据挖掘、ETL、集群管理等等方面越来越完善。Hive、HBase、Pig、Zookeeper、Sqoop、Avro等不知觉升级到Apache的顶级项目,不断地伸展着Hadoop的触角。它们可以依附完整平台,也可以独立提供服务,兼容并包!

        4. 模型简单
        Hadoop依赖于HDFS和MapReduce。它们也分别依赖着不同的简单模型:单master多slave的简单存储架构和计算移动到数据上的并行计算模型。再简单的模型套在分布式环境上都能生出一堆妖蛾子来。所以,正是由于这样的简单的模型,才规避了更多的不一致性。能正常推出产品,提供比较稳定的服务。

        5. 越来越多与Hadoop有关的吸金创业公司
        像Cloudera,MapR和Hortonworks这些公司都在风投的孕育下快速成长,不断地丰富和完善企业级所需的Hadoop特性。这些公司有专业的人员、巨额的资金和良好的外部需求,在不断发展的过程中也回馈着社区的进步。华尔街也在预言下一个造福行业在大数据处理上,所以我们相信会有越来越多这样的公司出现。

        劣势:
        1. 自身的不成熟
        尽管Hadoop已经发展近八年,但是自身遇到的问题还是很多,可能跟需求变更与部署环境分不开吧。这种不稳定给使用者的印象很不好!就像NameNode的单点问题一直受人诟病,直接导致很多人不敢尝试Hadoop平台。其次,大量的bug会造成许多次版本出现,也不利于环境的维护。坎坷这么久,是需要确保HDFS跟MapReduce不要再出大的问题了。

        2. 企业级安全策略
        正常情况下,Hadoop的用户是产生大数据的公司。在公司里,最可能一棒子把产品打死的因素就是安全。不能说公司不在Hadoop平台存储敏感数据就可以不关心安全问题。数据代表着生产力,数据在哪就得将安全延伸到哪。当前Hadoop的数据安全与多用户共享策略还得继续完善。

        3. 没有有效的结果展现
        看MapReduce Job的结果很无聊吧?怎样给最终用户(一般是数据分析师)显示清晰有意义的报表是非常有必要的。Hadoop生态圈要么自己来做,要么就得集成现有数据仓库的报表展现系统。

        4. 集群监控及管理
        重中之重!公司是否使用Hadoop依赖于这套平台是否容易管理与监控,或是与企业现有的其它系统放在同样的管理与监控平台之下。当然还得有集群环境的部署、升级等等,一样让人头疼。

        5. 做的越来越多,目标反而更不明确
        这样说的原因可能是因为宣传不够吧。具体开发和定位目标的人很清楚自己想做什么,而用的人感觉越来越乱或者是连最初的需求都忘了。任何系统都有自己的定位,Hadoop也是这样。从国内的论坛来看,有些人把它当存储系统看,有些人当集群管理系统看,莫衷一是。Hive推出之后,用Hadoop搭建自助的数据分析平台成为业界的主流观点,这也是它所擅长的,不能希望它满足所有需求。

        6. 支持Online service
        在上一篇blog中,我分析了Hadoop离online系统的距离。我的初衷是试着改变大家对Hadoop的认识。其实仔细想想这是有必要的。不挂靠产品系统,就没有更大的前途。这个只是个人看法,Hadoop还没有提到这样的定位。


外部
        机会:
        1. 大数据的存储与分析正是当前业界的挑战
        有句诗说,春江水暖鸭先知。像Google这样的互联网企业每天所依赖和产生的数据是十分惊人的,它们真正地遇到了大数据的一系列问题,所以GFS/MapReduce这样的系统应势而生。开源的Hadoop平台也因此成为公司爱好的玩意:不付钱却可以解决大数据问题。具备这样有现实需求的外部环境,Hadoop才能过的很滋润。

        2. 相当多的知名企业支持它
        这是相当相当好的资源。公司在选择一个平台时,老会问的几个问题是:1. 需要付费么?2.有人维护么? 3. 哪些公司在用。看着Hadoop的用户列表,其它项目只有嫉妒的份。

        3. 与Hadoop相关的论坛与培训变的很火
        正是有良好的外部环境,与Hadoop相关的峰会、论坛、活动及培训相当多。就从国内来看,Hadoop就像前几年的SSH一样,初学者一窝蜂地学习Hadoop的方方面面。有好处也有坏处吧!如果你有因为企业有需要或是个人想参与分布式系统的研发,那么这是有益的;否则,很可能就是跟风了。

        威胁:
        1. 越来越多的需求
        人的需求是无止境的。Hadoop说它的立业之本是处理大数据的批量计算时,就会看到很多的其它需求:Hadoop为什么不擅长小文件存储呢?Hadoop为什么不能跨数据中心呢?怎样让计算更实时些。。。 有需求是好事,说明它还值得大家的信任。为什么我把这点列为威胁,就是因为没有系统是万能的。如果需求实现起来可控,有助于Hadoop更好地发展,就没有问题。如果做出的东西很少有人用,且让整个平台异常复杂繁琐,那么这样的需求宁可不要实现。怕就怕对需求的不断妥协,只会让系统成为臃肿的胖子,而被大家敬而远之。

        2. 其它产品会以超越Hadoop为卖点
        单纯就Hadoop平台来说,这是威胁。如果其它产品确实有优异之处,为什么不用呢?

        3. 技术界“喜新厌旧”的风格
        这是通病。就如同今天这么多人追逐Hadoop一样,终有一天,技术革新之时,Hadoop这个产品也会被新的理念所抛弃。对技术学习来说,好事是可以学点新的知识,坏处就是还得辛苦学习新的知识。这就是现实!

        4. 出现技术问题时,需要专业人员解决
        企业级用户在使用Hadoop平台时,或多或少会出现一些问题或发现bug。如果依赖社区,解决起来肯定不太及时。这就得需要企业培养专业的Hadoop开发人员来应付自身出现的问题。这是一个历程,不管对企业还是程序员自己。当Hadoop变的越来越复杂时,程序员还是企业都是知难而退,而避免使用Hadoop。

这些分析很多都是个人理解,因此难免有受限之处,希望更多人提出自己的看法,有讨论就会进步地更快。当然,这些分析也希望那些刚开始学习Hadoop的人看到,因为这是一篇站在局外的分析,可能更客观些完善你对Hadoop的认识。

Keep going...

0
0
分享到:
评论
4 楼 sjtufighter 2014-04-24  
现在是2014了,又提升了很多,希望hadoop和spark完美结合,在实时处理,流处理方面更加爱完善
3 楼 OracleX 2012-08-22  
langyu 写道
OracleX 写道
而公司需要的是实施数据存储及以后的数据分析

关键的地方在于“实施”还是“实时”?这两者差距太大了
如果实时的话,基本不适合

哈哈,不好意思,写错了,是“实时”。看来是否使用hadoop还要慎重考虑一下,非常感谢!
2 楼 langyu 2012-08-22  
OracleX 写道
而公司需要的是实施数据存储及以后的数据分析

关键的地方在于“实施”还是“实时”?这两者差距太大了
如果实时的话,基本不适合
1 楼 OracleX 2012-08-22  
恩,最近公司准备在考虑是否用hadoop,博主分析的很到位。
引用
Hadoop说它的立业之本是处理大数据的批量计算时
,而公司需要的是实施数据存储及以后的数据分析,这么看来使用hadoop还需要再考虑一下。

相关推荐

Global site tag (gtag.js) - Google Analytics