码迷,mamicode.com
首页 > 其他好文 > 详细

RDD与DSM的区别

时间:2015-01-05 13:09:07      阅读:188      评论:0      收藏:0      [点我收藏+]

标签:rdd   dsm   分布式   

RDD(Resilient Distributed DataSet)弹性分布式数据集,是Spark的核心数据结构。

DSM(Distributed Shared Memory)分布式共享内存,它是一种通用的内存数据抽象。在DSM中,应用可以向全局地址空间的任意位置进行读写操作。

RDD与DSM主要区别在于,不仅可以通过批量转换创建(即“写”)RDD,还可以对任意内存位置对写。RDD限制应用执行批量写操作,这样有利于实现有效的容错。特别是,由于RDD可以使用Lineage(血统)来恢复分区,基本没有检查点开销。失效时只需要重新计算丢失的那些RDD分区,就可以在不同节点上并行执行,而不需要回滚整个程序。

与DSM相比,RDD模型有两个优势。第一,对于RDD中的批量操作,运行时将根据数据存放的位置调度任务,从而提高性能。第二面对与扫描类型操作,如果内存不足以缓存整个RDD,就进行部分缓存,将内存容纳不下的分区存储到磁盘上。

另外RDD支持粗粒度和细粒度的读操作。RDD上的很多函数操作(如count和collect等)都是批量读操作,即扫描整个数据集,可以将任务分配到距离数据最近的节点上。同时,RDD也支持细粒度操作,即在哈希或范围分区的RDD上执行关键字查找。

RDD与DSM的区别

标签:rdd   dsm   分布式   

原文地址:http://blog.csdn.net/u013485584/article/details/42419229

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!