开源分布式计算系统框架比较

分布式计算在许多领域都有广泛需求,目前流行的分布式计算框架主要有 Hadoop MapReduce, Spark Streaming, Storm; 这三个框架各有优势,现在都属于 Apache 基金会下的顶级项目,下文将对三个框架的特点与适用场景进行分析,以便开发者能快速选择适合自己的框架进行开发。

Hadoop MapReduce 是三者中出现最早,知名度最大的分布式计算框架,最早由 Google Lab 开发,使用者遍布全球(Hadoop PoweredBy);主要适用于大批量的集群任务,由于是批量执行,故时效性偏低,原生支持 Java 语言开发 MapReduce ,其它语言需要使用到 Hadoop Streaming 来开发。Spark Streaming 保留了 Hadoop MapReduce 的优点,而且在时效性上有了很大提高,中间结果可以保存在内存中,从而对需要迭代计算和有较高时效性要求的系统提供了很好的支持,多用于能容忍小延时的推荐与计算系统。Storm 一开始就是为实时处理设计,因此在实时分析/性能监测等需要高时效性的领域广泛采用,而且它理论上支持所有语言,只需要少量代码即可完成适配器。

下面的表格是对三者部分特性的比较,描述时间为 2015-5-3,三个项目均处于快速迭代中,文中描述特性会随时产生变化,如果与官方文档产生出入以官方文档为准。

比较项StormSpark StreamingHadoop MapReduce
血统TwitterUC Berkeley AMP labGoogle Lab
开源时间2011.9.162011.5.242007.9.4
当前版本0.9.41.3.12.7.0
相关资料极多
依赖环境Zookeeper、Java、Pythonhadoop client、ScalaJava、ssh
技术语言Java、ClojureScalaJava
支持语言AnyScala、Java、PythonJava & Others
延时实时秒级较高
网络带宽一般一般一般
硬盘IO一般较少
集群支持超过1000节点数千个节点
吞吐量较好
使用公司淘宝、百度、Twitte、Groupon、雅虎Intel、腾讯、淘宝、中移动、GoogleEBay、Facebook、Google、IBM
适用场景实时的小数据块的分析计算较大数据块又需要高时效性的小批量计算低时效性的大批量计算

表格说明:

  • 开源时间以 github 上最早的 commit 或者官网上最早发布版本的时间为准。

  • 当前版本与特性描述截止 2015-5-3。

  • 相关资料量通过比较官方文档、搜索引擎、论坛等途径得出。

  • 部分比较数据来源于实践或相关文章(未找到出处)。

本文会保持更新,如果数据发现有出入,欢迎指正。

参考资料:


本文来自 The NewIdea,作者 Carey Tzou 。
永久地址:http://blog.tnidea.com/compare-with-distributed-computation-system.html
未经授权,拒绝任何全文及摘要转载!(本博客由作者本人维护,已授权在cnblogs上同步发布)

欢迎关注微信公众号:CareyTzou
Wechat:CareyTzou

转载于:https://www.cnblogs.com/NewIdea/p/compare-with-distributed-computation-system.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值