为什么我们要用分布式文件系统(经历后的感触)

1、为什么分布式文件系统要采用特定的组织结构来存储文件?

直接按照文件的原始路径进行存储和复制,这样就可以直接通过应用服务进行静态化访问,从而大幅度提升性能。怎么样,这个主意不错吧?

等等,我们好像又绕回去了…..

这样的一个系统,大概是一个共享文件系统?或者是一个文件分发系统。

如果只是共享文件系统,文件太多了怎么办?文件访问压力太大了怎么办?文件丢失了怎么办?文件错了怎么办?文件服务器挂了怎么办?

怎么办,怎么办,怎么办?

没有那么多怎么办,所以我们在经历过这些实践和使用之后,结论就是,用分布式文件系统,就这么办。

2、分布式文件系统能够帮我们做什么(优点)

可以组建包含大量廉价服务器的海量存储系统,这是文件分发和同步不容易做到的;

通过内部的冗余复制,保证文件的可用性,在海量存储系统中,容错能力非常非常重要;

可扩展性很强,增加存储节点和追踪器都比较容易;

在多个文件副本之间就进行负载均衡,可以通过横向扩展来确保性能的提升。

进行特定的索引文件的计算等;

3、分布式文件系统的不足或者说缺点

低延时访问

分布式文件系统不太适合于那些要求低延时(数十毫秒)访问的应用程序,因为分布式文件系统是设计用于海量数据处理的,这是以一定延时为代价的。对于低延时访问,经典和传统的办法就是数据库,我们所喜爱的ORACLE就很擅长干这个事情。

比如一个支付系统,对于它的核心支付体系,后端用P590小型机+ORACLE,当支付的规模越来越大的时候。小型机+ORACLE的支付体系会非常痛苦。对数据库横向扩展,水平切分都是方法,但是直接想把核心支付模块切换到分布式文件系统上,确实有挑战,当年没有成功过。(一家之言,说不定你们能搞定,仅供参考)

频繁修改的文件的应用

目前常用的分布式文件系统,基本都是“一次写多次读”的模式,如果涉及到大量数据的频繁修改,那么这个问题就相对比较麻烦;

海量小文件

分布式文件系统把文件系统的元数据放置在内存中,所以文件系统所能容纳的文件数目是有限的。一般来说,每一个文件、文件夹和Block需要占据150字节左右的空间,所以,如果你有100万个文件,每一个占据一个Block,你就至少需要300MB内存。当前来说,数百万的文件还是可行的,当扩展到数十亿时,对于当前的硬件水平来说就很痛苦了。因此由于海量元数据的因素,分布式文件系统对待海量小文件相对比较乏力。

其他

一些直接通过http访问的文件,比如脚本、CSS等。

要进行复杂的计算,比如计算要发射火箭到火星上去,顺便在宇宙飞船上要配置一桌麻将,需要计算有多少的能力,要有多少的着力点;

时间: 2024-08-29 07:27:47

为什么我们要用分布式文件系统(经历后的感触)的相关文章

部署DFS分布式文件系统

在企业中,有很多种文件系统的部署,在这里我这边记录一下DFS分布式文件系统的部署,试验环境在windows server 2012系统中部署完成,此次架构如下图 在微软的文件系统中,文件系统发展经历了一些历程,下图为文件系统发展的大概历程 在企业环境中,比较成熟可靠的还是使用cluter,但是由于cluster需要有storage,所有成本 相对较高 相对便宜的文件系统高可用解决方案,我们可以使用DFS 现在开始对DFS进行配置 1.为了DFS的高可用,我们可以安装DFS的命名空间服务到DFS目

Hadoop分布式文件系统(HDFS)设计

Hadoop分布式文件系统是设计初衷是可靠的存储大数据集,并且使应用程序高带宽的流式处理存储的大数据集.在一个成千个server的大集群中,每个server不仅要管理存储的这些数据,而且可以执行应用程序任务.通过分布式存储和在各个server间交叉运算,集群和存储可以按需动态经济增长.以下的设计原则和经验是根据yahoo通过HDFS管理的40PB得来的. 1. HDFS简介 HDFS是一个分布式文件系统,并且为MapReduce分布式算法提供了一分析和传输大数据的框架.HDFS使用java编写,

Ceph:一种可扩展,高性能的分布式文件系统

摘要 我们开发了 Ceph,一种分布式文件系统.该文件系统提供极佳的性能,可靠性以及扩展性.通过专为不可靠的对象存储设备(Object Storage Device,OSDs)所组成的异构.动态集群而设计的准随机数据分配算法(CRUSH),利用其替代文件分配表,Ceph 将数据与元数据进行了最大程度地分离.通过将数据分布,失效检测恢复指定给运行特殊本地对象文件系统的半自动化的OSDs的方式来使设备具备智能性.而动态的分布式元数据集群,为各种通用目以及科学计算文件系统工作负载提供了无逢自适应,且高

架构设计:系统存储(28)——分布式文件系统Ceph(挂载)

(接上文<架构设计:系统存储(27)--分布式文件系统Ceph(安装)>) 3. 连接到Ceph系统 3-1. 连接客户端 完毕Ceph文件系统的创建过程后.就能够让客户端连接过去. Ceph支持两种客户端挂载方式:使用Linux内核支持的mount命令进行的挂载方式.使用用户空间文件系统FUSE(Filesystem in Userspace)进行的网络磁盘挂载方式. 这两种挂载方式的本质差别是,前者须要有Linux内核的支持.而后者仅仅是工作在Linux上的一个应用软件. 3-1-1. 使

CentOS7安装gluster分布式文件系统(取名glustervol1),附CentOS7安装git

虚拟机:192.168.2.21 虚拟机:192.168.2.22 首先,把两个虚拟的防火墙关闭,再次根据 上一篇文档:  CentOS7配置本地镜像及安装gluster服务,在两台虚拟机安装gluster. [停止防火墙] sudo systemctl stop firewalld.service      --停止防火墙 sudo systemctl disable firewalld.service   --开机关闭防火墙 [安装apache httpd服务] cat /etc/yum.r

CentOS 6.5 分布式文件系统之MogileFS工作原理及实现过程

   MogileFS是一套高效的文件自动备份组件,由Six Apart开发,广泛应用在包括LiveJournal等web2.0站点上.MogileFS由3个部分组成:    第1个部分:是server端,包括mogilefsd和mogstored两个程序.前者即是mogilefsd的tracker,它将一些全局信息保存在数据库里,例如站点domain,class,host等.后者即是存储节点(store node),它其实是个HTTP Daemon,默认侦听在7500端口,接受客户端的文件备份

pilicat-dfs 霹雳猫-分布式文件系统

pilicat-dfs 霹雳猫-分布式文件系统 一种可以将网站图片或上传的文件,进行分布式存放的服务,可自动复制到多台物理机器,可满足高可用和负载均衡 已编译好的程序包 http://git.oschina.net/tavenli/pilicat-dfs/releases 功能介绍 支持多个dfs-node 支持对上传的文件自动复制到多个dfs-node 支持 RestfulAPI 接口,方便各种语言调用 可以对dfs-node进行分组 为什么要使用pilicat-dfs 可使每个应用系统上传的

分布式文件系统fastDFS部署

一.部署环境:(CentOS 6.9) tracker server:10.10.1.105 storage server:10.10.1.106  10.10.1.107 client:10.10.1.105 二.FastDFS: 开源的轻量级分布式文件系统: 三个角色: tracker server :跟踪服务器,调度,在内存中记录所有存储组和存储服务器的状态信息: tracker.conf storage server :存储服务器,文件(data)和文件属性(metadata),一组服务

分布式文件系统---&gt;fastDFS

同一个网站,根据客户端用电脑或手机访问不同 出现的会有宽屏或长格式  是用不同的样式表文件决定 但网页文件还是那一个 FASTDFS   主控服务器 (存所有文件目录信息,要找一个文件先找他)---->数据库服务器(存放文件) 分布式文件系统:fastDFS功能:文件存储,文件访问,文件同步(上传下载) 解决大容量存储和负载均衡问题,适合以文件为载体在线服务,如相册网站,视频网站(京东,51cto,赶集,支付宝FastDFS服务分为跟踪器和存储节点两块,存储节点一个组可以是多个,这样使保存的数据