分布式存储简介

2016-10-14 16:00
刘树东

分布式文件系统产生的背景:

  • 数据爆炸式增长
  • 亿级甚至百亿级的海量小文件

分布式存储:
将数据分散到多个存储设备上,通过网络保持通信

两个基本问题:

  • 快速存,存到哪个设备
  • 快速读,从哪个设备读

元数据管理:
元数据存储于Database做映射,如MogileFS
元数据隐藏在文件名中,如FastDFS
通过算法计算元数据位置,如Ceph

访问性能:
小文件合并存储
小文件合并请求
Cache

Ceph

既没通过Database做映射,也没把源文件隐藏在文件名中,而是通过Hash算法计算元数据的位置
元数据管理:通过算法计算元数据位置
写,强一致性
提供稳定对象(支持AmazonS3、文件重命名)
块存储
适合场景:

  • 不变化的文件
  • 文件需重命名
  • http请求
  • 并发请求不高
    使用情况:京东、携程、网易等

FastDFS

(MogileFS的精简版,去掉DB映射,理论上可以无限扩充)
元数据隐藏在文件名中
写,弱一致性
提供稳定对象存储
底层采用socket通信
适合场景:

  • 高并发访问、http、socket均可
  • 文件反复变化
  • field系统生成
    使用情况:支付宝、360、京东、携程等

HDFS

GFS的Java版
适合存储大型文件
元数据管理:元数据置于内存,每个文件占用一块内存
写,强一致性
提供稳定对象存储
适合场景:

  • 高延迟
  • 文件不怎么变的

你可能感兴趣的:(分布式存储简介)