分布式存储系统调研总结

网易学习计划啊,都不带添加文字的么!限制我字数,还不告诉我是哪段超过了!!

 

进入正题...

 

每个流行的云存储系统都有自己的侧重点

可选的架构很多,关键是要针对特定的应用场景

  • 系统规模大小
  • 业务类型与压力
  • 实时 / 非实时
  • 大文件 / 中等文件 / 小文件
  • 连续读写 / 随机读写
  • 吞吐率 / 低延迟
  • 强一致性 / 弱一致性
  • 性能 & 可靠性
  • 扩展性 & 单节点问题
  • 是否要求目录结构
  • 可配置 & 快速部署
  • 大数据离线/在线分析
  • 电子商务
  • 社交网络
  • 网络硬盘
  • 邮件服务
  • 图片服务
  • 语音视频服务
  • 虚拟机调度与镜像存储
  • 开放云存储平台
 
离线型数据分析系统
  • 数据总量大,单个文件大,更注重系统吞吐率,而非低延迟。
  • 为适应流行的MapReduce模型,需要文件分块,并配合上层逻辑,采用大块顺序读写的方式提升性能。
线上服务系统
  • 根据服务类型而采用差异化的存储方式。
  • 针对语音视频等大文件,可能会采用与离线系统相同的方式,文件分块顺序读写,从而达到更高的传输速度。由于文件数量相对较少,有可能完全实现传统文件系统的目录结构与权限等功能。
  • 电子商务、社交网络等应用场景,多为小文件(小图片与小视频、记录与评价信息等),文件数量庞大,增长快速,用户基数大,实时性要求高,读写随机性强,对性能与扩展性的要求很高。
 

应用场景

可行系统

大数据离线/在线分析

HDFS、Swift、GlusterFS

电子商务

TFS、FastDFS、Dynamo、Swift、Tair

社交网络

TFS、FastDFS、Dynamo、Swift、Tair

网络硬盘

HDFS、FastDFS、Swift、GlusterFS

邮件服务

TFS、FastDFS、Dynamo、Swift、Tair

图片服务

TFS、FastDFS、Dynamo、Swift、Tair

语音视频服务

HDFS、FastDFS、Swift、GlusterFS

虚拟机调度和镜像存储

HDFS、Swift、GlusterFS

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
不同的应用场景,不同的性能考量,不同的存储架构,似乎没有一种通用的方法解决所有问题,一切都应取决于支撑的业务需求是怎么样的。相对于专用系统,通用系统难以达到预期的效果,同时增加了开发和调优方面的复杂性。
中心化架构与对称架构并不是完全对立的,两者都可能存储大文件和小文件,区别只是相对而言的。在大数据存储、分析领域,中心化架构较多,HDFS仍然被广泛使用或模仿。而在互联网应用中(电子商务、社交网络、APP),以中小文件的存储为主,对称架构较多,Dynamo和BigTable的设计理念被广泛地参考。
大多数系统都抛弃了目录结构。因为目录树的开销非常大,去掉之后,集群的性能和扩展性被极大地提高。
 
云存储系统的架构大同小异,成功的关键在于细节:操作系统级优化、文件系统级优化、优秀的代码实现、稳定性……
关注个性化
  • 策略、代码和性能的优化。
  • 数据分布方案 & 副本分布方案,文件去重。
  • 模块化 & 插件化,可热拔插 & 动态替换。
  • 抽象的存储引擎层,灵活地切换持久化存储或缓存。
  • 融合SSD与机械硬盘,权衡性能与成本。
  • 底层文件系统的选择与优化。
  • 文件分块/聚合,增量同步,标准化接口(RESTfull、POSIX)。
  • 系统部署与扩展的便捷性,自动化程度。
分布式环境下特别需要关注一致性问题,权衡性能与一致性等级。并发操作、各种版本冲突、机器故障、机器恢复、数据迁移与用户访问并存……集群状态不断变化,如何确保一致性约束。
 
 
PS:以上内容为师兄宅神所写,我就是个POSTER
 
posted @ 2013-03-13 14:31  YUKI小糖  阅读(2713)  评论(5编辑  收藏  举报