淘宝分布式文件存储系统( 一 ) ->>TFS
目录 :
- 什么是文件系统
- 文件存储的一些概念
- 文件的结构
- 系统读取文件的方式
- 为什么采用大文件结构的原因
文件系统 :
将我们的数据整合成目录或者文件,提供对文件的存取接口,基于文件的权限进行访问,简单的说,文件系统就是对文件进行管理的方式 .
文件存储的一些概念:
- 扇区 . 存储数据的磁盘的最小单位 , 通常一个扇区的大小是 512b(相当于0.5kb),-------b->字节
- 块: 文件存储的基本单位, 一般是连续的八个扇区组成一块 , 512b*8=4096b--> 4kb
文件的基本结构:
文件==目录项 + 块数据项 + Inode 元信息
目录区 : 存放目录下文件的信息 .
块数据区 : 存储文件数据 .
Inode元信息区 : 存放文件的 inode 包含的信息 ,我们可以理解为文件的属性 .
**Inode 结点 : ** ----->可以用,命令 ls -il 来查看一下
-
索引结点 : 用来存取文件的元信息, 包括文件大小,创建者 ,创建日期等等 . ,每一个文件都有一个inode号码,相当于我们的身份证,操作系统根据inode编码来识别文件 .
-
结点大小-------> 一般是128和256个字节 , inode结点的数量在最开始格式化磁盘的时候就已经标记 , 相当于一个组成一个inode table , 一般是1kb 或者 2kb 设置一个结点 . 例如 1GB的硬盘 , 按128 和 1kb来算 , inode结点大概会占用128MB大小的空间, 占整个磁盘的12.8% . 所有如果你发现你的磁盘还剩10个G的内存,但是死活存不进数据 , 是因为被我们的inode结点占据了 . **
系统读取文件的方式 :
淘宝的分布式文件储存系统为什么采用大文件结构的原因 :
(1) .小文件存储海量的数据,会导致我们硬件的存储器的磁头需要频繁的更换磁道,就会提高我们的存取时的时间(延时).
(2) .如果进行频繁的增加和删除,会导致我们的磁盘产生很多碎片,降低磁盘的存取效率,同时也降低了IO设备的读写效率.
加和删除,会导致我们的磁盘产生很多碎片,降低磁盘的存取效率,同时也降低了IO设备的读写效率.
(3) .海量的小文件,会导致 inode 编号占用太多磁盘空间,降低缓存的效果.