淘宝分布式文件存储系统(一) -TFS

淘宝分布式文件存储系统( 一 ) ->>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 编号占用太多磁盘空间,降低缓存的效果.

相关推荐
小钻风336639 分钟前
ZooKeeper + Kafka 集群搭建实战记录
分布式·zookeeper·kafka
L、2181 小时前
昇腾NPU性能调优Checklist——从“能跑“到“跑得快“的20步
服务器·人工智能·深度学习
不吃土豆的马铃薯2 小时前
Spdlog 进阶:日志基本控制、日志格式控制、异步记录器
linux·服务器·开发语言·前端·c++
疯狂成瘾者2 小时前
常见的 Linux 版本
linux·运维·服务器
szxinmai主板定制专家2 小时前
基于ZYNQ MPSOC图像采集与压缩系统总体设计方案
linux·arm开发·人工智能·嵌入式硬件·fpga开发
GOTXX2 小时前
SenseNova U1 实战体验:API 调用 + OpenClaw 接入全流程
服务器·网络·人工智能·语言模型
liulilittle2 小时前
TCP UCP:基于卡尔曼滤波的BBR增强型拥塞控制算法
linux·网络·c++·tcp/ip·算法·c·通讯
xingyuzhisuan3 小时前
GPU服务器集群搭建指南——选型、部署、优化+避坑全解析
运维·服务器·人工智能·gpu算力
tianrun12343 小时前
Ubuntu 24.04 安装 Fcitx5 + Rime + 搜狗词库(替代 IBus 与 Linux 搜狗输入法)
linux·运维·ubuntu
星轨zb3 小时前
JUC 到 Redis 分布式锁:一次关于高并发的性能压测实验
java·redis·分布式·jmeter