常见分布式系统数据分布解析

数据库 优点 缺点
mongodb    
hdfs(hbase) 借助hadoop这个生态系统得以比较稳定。另外还有一个优势就是他是用 java写的,这样一帮java程序员也可以号称自己在搞文件系统了,

1、大数据批量读写,吞吐量高;

2、一次写入,多次读取,顺序读写

实在太简单,太粗糙。甚至连搞个append接口都搞了老半天,到现在应该还不支持随机读写之类的文件系统最基本的功能,

1、交互式应用,低延迟很难满足;

2、不支持多用户并发写相同文件。

mysql    
lustre Oracle公司的企业级产品,非常庞大,对内核和ext3深度依赖,

1、  开源

2、  支持POSIX

3、  文件被分割成若干的Chunk,每个chunk是一般为1MB-4MB

 
moosefs 支持FUSE,相对比较轻量级,对master服务器有单点依赖,用perl编写,性能相对较差,国内用的人比较多  
glusterfs 支持FUSE,比mooseFS庞大  
Katta    
CEPH 支持FUSE,客户端已经进入了linux-2.6.34内核,也就是说可以像ext3/rasierFS一样,选择ceph为文件系统。彻底的分布式,没有单点依赖,用C编写,性能较好。基于不成熟的btrfs,其本身也非常不成熟  
mogilefs Key-Value型元文件系统,不支持FUSE,应用程序访问它时需要API,主要用在web领域处理海量小图片,效率相比mooseFS高很多

 比FastDFS 差

 

fastdfs 国人在mogileFS的基础上进行改进的key-value型文件系统,同样不支持FUSE,提供比mogileFS更好的性能,

1、  开源

2、  适合以文件为载体的在线服务

3、  FastDFS没有对文件做分块存储

4、  不需要二次开发即可直接使用

5、  比mogileFS更易维护和使用

6、  直接使用socket通信方式,相对于MogileFS的HTTP方式,效率更高。

1、文件访问方式使用专有API,不支持POSIX

 

tfs 开源,

 适合单个文件比较小的系统

 

1、小于1M的文件

2、TFS内部是没有任何数据的内存缓冲的

Swift 流行得益于openstack,它应该是目前最流行的对象存储系统,印象中有在生产环节跑到上百PB的case。但总感觉这玩意用python写的,有点粗糙,似乎就是一堆脚本的拼凑  
GridFS    

SurFS

   
GFS

1、成本低,运行在廉价的普通硬件上

 

 
     

系统整体对比

对比说明

/文件系统

TFS

FastDFS

MogileFS

MooseFS

GlusterFS

Ceph

开发语言

C++

C

Perl

C

C

C++

开源协议

GPL V2

GPL V3

GPL

GPL V3

GPL V3

LGPL

数据存储方式

文件/Trunk

文件

文件/

对象/文件/块

集群节点通信协议

私有协议(TCP

私有协议(TCP

HTTP

私有协议(TCP

私有协议(TCP)/ RDAM(远程直接访问内存)

私有协议(TCP

专用元数据存储点

占用NS

占用DB

占用MFS

占用MDS

在线扩容

支持

支持

支持

支持

支持

支持

冗余备份

支持

支持

-

支持

支持

支持

单点故障

存在

不存在

存在

存在

不存在

存在

跨集群同步

支持

部分支持

-

-

支持

不适用

易用性

安装复杂,官方文档少

安装简单,社区相对活跃

-

安装简单,官方文档多

安装简单,官方文档专业化

安装简单,官方文档专业化

适用场景

跨集群的小文件

单集群的中小文件

-

单集群的大中文件

跨集群云存储

单集群的大中小文件

开源协议说明

GPL:不允许修改后和衍生的代码做为闭源的商业软件发布和销售,修改后该软件产品必须也采用GPL协议;

GPLV2:修改文本的整体就必须按照GPL流通,不仅该修改文本的源码必须向社 会公开,而且对于这种修改文本的流通不准许附加修改者自己作出的限制;

GPLV3:要求用户公布修改的源代码,还要求公布相关硬件;LGPL:更宽松的GPL

TFS

TFS(Taobao File System)是由淘宝开发的一个分布式文件系统,其内部经过特殊的优化处理,适用于海量的小文件存储,目前已经对外开源;

TFS采用自有的文件系统格式存储,因此需要专用的API接口去访问,目前官方提供的客户端版本有:C++/JAVA/PHP


§ 特性

1)在TFS文件系统中,NameServer负责管理文件元数据,通过HA机制实现主备热切换,由于所有元数据都是在内存中,其处理效率非常高效,系统架构也非常简单,管理也很方便;

2)TFS的DataServer作为分部署数据存储节点,同时也具备负载均衡和冗余备份的功能,由于采用自有的文件系统,对小文件会采取合并策略,减少数据碎片,从而提升IO性能;

3)TFS将元数据信息(BlockID、FileID)直接映射至文件名中,这一设计大大降低了存储元数据的内存空间;

§ 优点

1)针对小文件量身定做,随机IO性能比较高;

2&#x

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值