小结
存储系统 系统类型 存储模型 容错方法 生效阶段 分布式扩展性 是否开源 应用范围
HDFS异构存储 持久化系统 文件 多副本/同步或异步持久化 读写阶段 中低,受限于NameNode(还要管理其它存储介质) 是 较小,借力HDFS预期会升高
Tachyon 持久化系统 文件 血统/异步持久化 读写阶段 中等,受限于master 是 较小,借力BerkeleyDataAnalyticsStack会有很好预期
Spark(存储部分) 持久化系统(任务级) 文件 血统/多副本/同步持久化 读写阶段 中等,受限于主任务节点 是 较大,已有众多商业案例
RAMCloud 持久化系统 Key-Value 多副本/异步持久化 读写阶段 中等,受限于中心节点Coordinator 否(暂时未发现) 中等
Redis 持久化系统 Key-Value 单机内持久化(RDB快照和AOF日志)/集群内主备冗余 读写阶段 高,无中心节点 是 较大,已有众多商业案例
HDFS缓存 缓存系统 文件 只在NameNode持久化meta 重复读阶段 中低,受限于NameNode(还要管理其它存储介质) 是 较小,借力HDFS预期会升高
PACman 缓存系统 文件 不持久化,丢失后从持久化文件系统重新缓存 重复读阶段 中等,受限于中心节点Coordinator 否 很低,未找到论文外的案例
memcached 缓存系统 Key-Value 不持久化,通过一致性哈希减少重新缓存的数量 重复读阶段 高,无中心节点 是 很大,已有很多商业案例,不过份额有被Redis等系统抢占的趋势
Ref:
[1] The Case for RAMClouds: Scalable High-Performance Storage Entirely in DRAM
[2] Tachyon官方PPT:http://www.cs.berkeley.edu/~haoyuan/talks/Tachyon_2013-08-30_AMPCamp2013.pdf
[3] DataNodeCache: https://issues.apache.org/jira/browse/HDFS-4949
[4] Heterogeneous: https://issues.apache.org/jira/browse/HDFS-2832
[5] AmpLab软件栈: https://amplab.cs.berkeley.edu/software/
[6] Spark: Shark: SQL and Rich Analytics at Scale
[7] Tachyon: Memory Throughput I/O for Cluster Computing Frameworks
[8] ResilientDistributedDatasets: A Fault-Tolerant Abstraction for In-Memory Cluster Computing
[9] MemoryAsStorage: https://issues.apache.org/jira/browse/HDFS-5851
[10] The Case for RAMClouds: Scalable High-Performance Storage Entirely in DRAM(2009,2011)
[11] Log-structured Memory for DRAM-based Storage
[12] Fast Crash Recovery in RAMCloud
[13] redis官网: http://www.redis.cn/; http://redis.io/
[14] redis cluster: http://redis.io/presentation/Redis_Cluster.pdf
[15] PACMan: CoordinatedMemory Caching for Parallel Jobs
[16] Distributed Caching with Memcached:http://www.linuxjournal.com/article/7451?page=0,0