几种分布式文件系统的性能对比 – TecAce – ITeye技术网站

以下是我从官方网站、论坛,以及网站等获取的信息。总体看来,MongoDB是一个新的宠儿,性能优越。但是用的人少,文档资料过于少。FastDFS是国人改编,目前有20多家企业在用,高效简洁(更少的资源投入,获得更好的效果)。MFS比较成熟,用的人多。但也有一些性能瓶颈的限制。

 

 

分布式文件系统性能对比
  最大文件限制 文件数的限制 最大存储容量(1PB) 冗余备份 集群 优点 缺点 其他
Mongodb 32bit: MongoDB <= 2G
64bit: MongoDB无限制
Wordnik 是一个在线辞典和百科文档库,据其使用经验: 超过120亿的文档存储在MongoDB中,每个Mongo 结点存储大约3TB的数据 据一个Nosql的国外网站介绍,可以轻松实现PB级别的存储。原文:(it’s extermly scalable – up to petabytes with little effort (we don’t need the space for a petabyte, but 10 terrabytes)
   http://www.catify.com/2010/10/19/nosql-vs-sql/
通过同步复制,可以解决分布式文件的备份问题.
通过ARP-ping可以实现一个双机热备切换,类mysql的mysql master master replic 
MongoDB 集群中包含一个自动分片模块 (“mongos”). 自动分片可以用于构建一个大规模的可扩展的数据库集群,这个集群可以并入动态增加的机器。自动建立一个水平扩展的数据库集群系统,将数据库分表存储在sharding的各个节点上。 1、可以存储上百万的文件而无需担心扩容性,据CSDN一篇博客里写道可以轻松实现PB级别的数据存储                                    2、快速!(它比一般的关系型数据库快5位左右。) Mongodb不支持内建的事务
http://www.xueit.com/usenetwork/show-6777-2.aspx
目前使用GridFS有以下三种方式:

   1. 使用脚本读取,这时文件数据会全部读取到脚本中,再调用脚本客户端的输出功能输出给页面。毫无疑问,这种使用方式是效率非常低下的。
   2. 使用gridfs-fuse使GridFS中存的数据可以通过标准磁盘IO方式进行访问,可以说是真正实现了一个文件系统。
   3. 使用nginx-gridfs利用Nginx直接读取gridfs中的数据进行发送,这个类似于Nginx的sendfile机制。

FastDFS 20+公司在使用
规模最大的一家:集群中的存储group数有45个,存储服务器90台,存储容量达到900TB,文件数达到4000万个。Group持续增长中。。。预计下周上线20个Group,到时总容量可以达到1200TB
国人在mogileFS的基础上进行改进的key-value型文件系统,同样不支持FUSE,提供比mogileFS更好的性能。简洁高效 FastDFS与MogileFS比较
FastDFS比MogileFS更高效。表现在如下几个方面:
  1)参见上面的第2点,FastDFS和MogileFS相比,没有文件索引数据库,FastDFS整体性能更高;
  2)从采用的开发语言上看,FastDFS比MogileFS更底层、更高效。FastDFS用C语言编写,代码量不到2万行,没有依赖其他开源软件或程序包,安装和部署特别简洁;而MogileFS用perl编写;
  3)FastDFS直接使用socket通信方式,相对于MogileFS的HTTP方式,效率更高。并且FastDFS使用sendfile传输文件,采用了内存零拷贝,系统开销更小,文件传输效率更高。
5. FastDFS有着详细的设计和使用文档,而MogileFS的文档相对比较缺乏。
6. FastDFS的日志记录非常详细,系统运行时发生的任何错误信息都会记录到日志文件中,当出现问题时方便管理员定位错误所在。
7. FastDFS还对文件附加属性(即meta data,如文件大小、图片宽度、高度等)进行存取,应用不需要使用数据库来存储这些信息。
8. FastDFS从V1.14开始支持相同文件内容只保存一份,这样可以节省存储空间,提高文件访问性能。                                     9.由网络的测试结果(http://hi.baidu.com/leolance/blog/item/8e818815b1522e6fca80c4ae.html)来看。MooseFS的性能效果不理想。I/O的读写速度比较慢。  因此,综上所说,我个人认为,选择FastDFS更加简洁高效。                       
MOOSEFS Master性能瓶颈
master本身的性能瓶颈:类似mysql 主从复制,从的可以扩展,主的不容易扩展。
体系架构存储文件总数的瓶颈:
mfs把文件系统的结构缓存到master的内存中,文件越多,master的内存消耗越大,8G对应
2500kw的文件数,2亿文件就得64GB内存

1、支持FUSE,相对比较轻量级,对master服务器有单点依赖,用perl编写,性能相对较差,国内用的人比较多(豆辩在用),适合数量少的大文件    2、高可用性(数据可以存储在多个机器上的多个副本)  3、3.通用文件系统,不需要修改上层应用就可以使用(那些需要专门api的dfs好麻烦哦!)。
4. 可以在线扩容,体系架构可伸缩性极强。(官方的case可以扩到70台了!)
5. 部署简单。(sa们特别高兴,领导们特别happy!)
6. 体系架构高可用,所有组件无单点故障。 (您还等什么?
7.文件对象高可用,可设置任

 

来源URL:http://quanzhong.iteye.com/blog/947306