`
yettie
  • 浏览: 195639 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

几种分布式文件系统的性能对比

阅读更多

大家好

 以下是我从官方网站、论坛,以及网站等获取的信息。总体看来,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.文件对象高可用,可设置任

 
分享到:
评论

相关推荐

    分布式数据库试题及答案.doc

    2.5. 数据库系统体系结构有哪几类,每种类型的特点是什么,关键技术有哪些? 12 2.6. 决策支持类应用与OLTP应用对于数据库系统的要求有哪些不同,支持前者的关键技术有哪些,并简述之。 12 2.7. 面向对象的数据库是...

    matlab改变代码颜色-spectroscope:Spectroscope是请求流比较的一种实现,这是一种诊断分布式系统中性能变化的新颖技术

    Spectroscope是请求流比较的一种实现,这是一种诊断分布式系统中性能变化的技术。 有关更多信息,请参见NSDI 2011文件。 源代码概述 Spectroscope被编写为相互连接并与Matlab交互的几个perl模块。 运行Spectroscope...

    基于云计算的虚拟银行海量数据存储设计

    工作的另一个方面是在我们构架的分布式文件系统的基础上设计我们的数据库管理系统,相对于云计算而言分布式数据库的技术是比较成熟的,也正因为如此他们不能很好的和基于云计算的文件系统很好的兼容,我们的工作是...

    研究生分布式数据库参考习题

    2.5. 数据库系统体系结构有哪几类,每种类型的特点是什么,关键技术有哪些? 12 2.6. 决策支持类应用与OLTP应用对于数据库系统的要求有哪些不同,支持前者的关键技术有哪些,并简述之。 12 2.7. 面向对象的数据库...

    集群好书《高性能Linux服务器构建实战》 试读章节下载

    10.5 几种典型应用对系统资源使用的特点 10.5.1 以静态内容为主的Web应用 10.5.2 以动态内容为主的Web应用 10.5.3 数据库应用 10.5.4 软件下载应用 10.5.5 流媒体服务应用 10.6 Linux下常见的性能分析...

    分布式爬虫框架Cola.zip

    Cola是一个分布式的爬虫框架,用户只需编写几个特定的函数,而无需关注分布式运行的细节。任务会自动分配到多台机器上,整个过程对用户是透明的。pip install pyyaml安装下载或者用git clone源码,假设在目录/to/...

    《计算机操作系统》期末复习指导

    操作系统的五大类型是批处理操作系统、分时操作系统、实时操作系统、网络操作系统、分布式操作系统。 多道程序设计:即在系统内(内存)同时存放并运行几道相互独立的程序。 多道程序设计的基础:是将...

    基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)

    Java是一门各方面性能都很好的编程语言,它的基本特点是简单、面向对象、分布式、解释的、健壮的、安全的、结构中立的、可移植的、性能很优异的、多线程的、动态的,特别适合在Internet环境上开发的应用系统。...

    基于J2EE框架的个人博客系统项目毕业设计论...

    Java是一门各方面性能都很好的编程语言,它的基本特点是简单、面向对象、分布式、解释的、健壮的、安全的、结构中立的、可移植的、性能很优异的、多线程的、动态的,特别适合在Internet环境上开发的应用系统。...

    数据库审计系统需求说明.docx

    附件: 数据库审计系统需求说明 序号 指标项 具体要求 1 硬件指标 标准机架式设备,不少于 6个1000M电口,不少于 2个SFP光口(带SFP模块), 具备独立的管理口和 HA 口;可用磁盘空间不小于 2T;吞吐能力》2000M峰值处...

    JAVA上百实例源码以及开源项目

    2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户...

    Oracle数据库学习指南

    25.哪些初始化参数最影响Oracle系统性能 26.你的SQL语句在什么情况下使用全表扫描? 27.如何对CLOB行字段执行全文检索 28.如何让你的SQL运行得更快 29.如何使‘CREATE TABLE AS SELECT’能支持ORDER BY 30...

    JAVA上百实例源码以及开源项目源代码

    2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户...

    JMeter操作手册大全.docx

    一个应用系统1s能完成多少事务处理,一个事务在分布式处理中,可能会对应多个请求,对于衡量单个接口服务的处理能力,用QPS比较多。 1.1.2.标准 无论TPS、QPS、HPS,此指标是衡量系统处理能力非常重要的指标,越大越...

    37篇经过消化云计算论文打包下载

    这篇文章讨论了高性能标准测试应用程序在亚马逊EC2云计算系统中的性能。经过测试发现EC2云计算系统是一个可靠的解决方案,支持按需响应,小规模,高性能计算应用程序。 2、 Chukwa: A large-scale monitoring ...

    VC与Labview、Matlab编程论文资料[2].rar

    VC_中连接Oracle数据库的几种方法.pdf VC_串口通信中多线程技术的应用研究.pdf VC_和COM的预测控制算法的仿真研究.pdf VC_和Excel对象接口的研究与应用.pdf VC_和Matlab混合编程的语音识别研究.pdf VC_实现Excel操作...

    VC与Labview、Matlab编程论文资料

    VC_中连接Oracle数据库的几种方法.pdf VC_串口通信中多线程技术的应用研究.pdf VC_和COM的预测控制算法的仿真研究.pdf VC_和Excel对象接口的研究与应用.pdf VC_和Matlab混合编程的语音识别研究.pdf VC_实现Excel操作...

    VC与Labview、Matlab编程论文资料[4].rar

    VC_中连接Oracle数据库的几种方法.pdf VC_串口通信中多线程技术的应用研究.pdf VC_和COM的预测控制算法的仿真研究.pdf VC_和Excel对象接口的研究与应用.pdf VC_和Matlab混合编程的语音识别研究.pdf VC_实现Excel操作...

Global site tag (gtag.js) - Google Analytics