导航

百亿数量级的大数据项目,软硬件总体预算只有30万左右,需求是进行复杂分析查询,性能要求多数分析请求达到秒级响应。

       遇到这样的项目需求,预算不多的情况,似乎只能考虑基于Hadoop来实施。 理论上Hadoop撑住百亿数量级没问题,但想要秒级响应各种查询分析就不行了。我们先大概分析一下Hadoop的优缺点。

Hadoop

       Hadoop目前几乎是大数据的代名词,很多企业都基于Hadoop搭建自己的大数据业务。

       以下是Hadoop的主要优点:

       1. Hadoop集群的扩展性是其一大特点,Hadoop可以扩展至数千个节点,对数据持续增长,数据量特别巨大的需求很合适。

       2. Hadoop的成本是其另一大优势,由于Hadoop是开源项目,而且不仅从软件上节约成本,硬件上的要求也不高。目前去IOE潮流风行,低成本的Hadoop也是一大推手。

       3. Hadoop生态群活跃,其周边开源项目丰富,HBase, Hive,Impala等等基础开源项目众多。

       那么Hadoop的不足有哪些呢?

       Hadoop不适合做实时分析系统。

       1. 从通讯层的技术上来说有如下原因:

           任务分配Server不会将信息Push到计算Node,而是让计算Node通过心跳去Pull任务。

           基于框架的通用性,MapReduce代码也会在HDFS中传送,在各计算Node展开,再通过启动新JVM进程装载并运行。

           类似的JVM进程启停有5、6次之多。

           Reduce Task只能在全部Map Task完成之后才能启动。

       2. 缺乏专业的支持服务

       因为是开源项目,缺少专业的商业支持服务,公司需要储备专业Hadoop知识的专家来保证系统的正常运转。

       3. Hadoop可以支持百亿的数据量,但很难应对秒级响应的需求

       即使是数亿的数据量,Hadoop也只适合做分钟级别的离线分析系统。

    

转自:http://www.yonghongtech.com/webShare/webshare_w4.html