首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >比较内存中的集群计算系统

比较内存中的集群计算系统
EN

Stack Overflow用户
提问于 2013-05-22 14:50:48
回答 1查看 5.4K关注 0票数 10

我正在从事Spark(Berkeley)集群计算系统的工作。在我的研究中,我了解了一些其他的内存系统,如Redis,Memcachedb等。如果有人能给我一个SPARK和REDIS (以及MEMCACHEDB)的比较,那就太好了。Spark在哪些情况下比其他内存系统更有优势?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-22 16:32:49

他们是完全不同的野兽。

Redis和memcachedb是分布式存储。Redis是一个纯内存系统,具有可选的持久性,具有各种数据结构。Memcachedb在Berkeley-DB之上提供了一个memcached API。在这两种情况下,它们更有可能被OLTP应用程序使用,或者最终用于简单的实时分析(即时数据聚合)。

Redis和memcachedb都缺乏高效地并行迭代存储数据的机制。您不能轻松地扫描并对存储的数据进行某些处理。它们不是为此而设计的。此外,除了使用客户端手动分片之外,它们不能在集群中向外扩展( Redis集群实现正在进行中)。

Spark是一个通过提供内存中的分布式数据集来加速大规模分析作业(特别是迭代分析作业)的系统。使用Spark,您可以在机器集群上实现高效的迭代map/reduce作业。

Redis和Spark都依赖内存中的数据管理。但是Redis (和memcached)和其他的OLTP NoSQL存储是一样的,而Spark则非常类似Hadoop map/reduce系统。

Redis擅长在亚毫秒级延迟的高吞吐量下运行大量快速存储/检索操作。Spark在实现机器学习、图分析、交互式数据挖掘等方面的大规模迭代算法方面大放异彩。在大量数据上。

风暴更新:有关的其他问题

问题是将Spark与Storm进行比较(参见下面的评论)。

Spark仍然基于这样的想法,当现有的数据量很大时,将进程转移到数据上比将数据转移到进程中更便宜。每个节点存储(或缓存)其数据集,并将作业提交给节点。因此,该过程将移动到数据。它与Hadoop map/reduce非常相似,只是内存存储被积极用于避免I/O,这使得它对于迭代算法是有效的(当上一步的输出是下一步的输入时)。Shark只是一个建立在Spark之上的查询引擎(支持即席分析查询)。

你可以把Storm看作是Spark的完全相反的架构。Storm是一个分布式流媒体引擎。每个节点实现一个基本流程,数据项流入/流出互连节点的网络(与Spark相反)。使用Storm,数据将移动到流程中。

这两个框架都用于并行计算海量数据。

然而,Storm擅长动态处理大量生成/收集的小数据项(例如在Twitter流上实时计算一些聚合函数或分析)。

Spark应用于已导入Spark集群的现有数据(如Hadoop)语料库,通过内存管理提供快速扫描功能,并最大限度地减少迭代算法的全局I/O数量。

票数 30
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16685214

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档