全部博文(710)
分类: 服务器与存储
2012-08-16 16:29:56
hadoop是实现了mapreduce的思想,将数据切片计算来处理大量的离线数据数据。hadoop处理的数据必须是已经存放在hdfs上或者类似hbase的数据库中,所以hadoop实现的时候是通过移动计算到这些存放数据的机器上来提高效率
而storm不同,storm是一个流计算框架,处理的数据是实时消息队列中的,所以需要我们写好一个topology逻辑放在那,接收进来的数据来处理,所以是通过移动数据平均分配到机器资源来获得高效率。
总的来说
hadoop的优点是处理数据量大(瓶颈是硬盘和namenode,网络等),分析灵活,可以通过实现dsl,mdx等拼接hadoop命令或者直接使用hive(超烂。。),pig等来灵活分析数据。适应对大量维度进行组合分析
ps:相较与hive,pig建议自己实现mdx,即灵活又高效
缺点就是慢:每次执行前要分发jar包,hadoop每次map数据超出阙值后会将数据写入本地文件系统,然后在reduce的时候再读进来
storm的优点是全内存计算,因为内存寻址速度是硬盘的百万倍以上,所以storm的速度相比较hadoop非常快(瓶颈是内存,cpu)
缺点就是不够灵活:必须要先写好topology结构来等数据进来分析,如果我们需要对几百个维度进行组合分析,那么。。。