当前位置:网站首页>淘宝分布式文件系统存储(二)
淘宝分布式文件系统存储(二)
2022-08-04 05:31:00 【小羊的预备程序员】
目录
1. 大规模的小文件存取,磁头需要频繁的寻道和换道,因此在读取上容易带来 较长的延时。
2. 频繁的新增删除操作导致磁盘碎片,降低磁盘利用率和IO读写效率
淘宝网为什么不用普通文件存储海量小数据?
1. 大规模的小文件存取,磁头需要频繁的寻道和换道,因此在读取上容易带来 较长的延时。

2. 频繁的新增删除操作导致磁盘碎片,降低磁盘利用率和IO读写效率

如果我以后想要存8个块的大小的文件,就会造成磁盘碎片

当频繁的新增删除操作就会导致磁盘碎片很多,磁头想要寻址到文件就会造成很多不必要的开销,降低磁盘利用率和IO读写效率
3、Inode占用大量磁盘空间,从而降低了缓存的效果
比如我有1T数据要存储,采用海量小文件存取,Inode信息就会占据至少128G内存,但是实际上是没有这么多内存给你使用的,就导致很多Inode信息我们要去磁盘去读,就会造成swap(内存的数据不断的移动到磁盘上,再次使用的时候又要将磁盘的数据导到内存,这一部分也是占用开销的)

4、设计思路
1、以block文件的形式存放数据文件(一般64M一个block),以下简称为“块”,每个块都有唯一的一个整数编号,块在使用之前所用到的存储空间都会预先分配和初始化。(避免磁盘碎片)
2、每一个块由一个索引文件、一个主块文件和若干个扩展块组成,“小文件”主要存放在主块中,扩展块主要用来存放溢出的数据。
3、每个索引文件存放对应的块信息和“小文件”索引信息,索引文件会在服务启动是映射(mmap)到内存,以便极大的提高文件检索速度。“小文件”索引信息采用在索引文件中的数据结构哈希链表来实现。
4、每个文件有对应的文件编号,文件编号从1开始编号,依次递增,同时作为哈希查找算法的Key 来定位“小文件”在主块和扩展块中的偏移量。文件编号+块编号按某种算法可得到“小文件”对应的文件名。

5、关键数据结构


边栏推荐
猜你喜欢

库函数的模拟实现-C语言

Install Minikube Cluster in AWS-EC2

通用解决端口占用问题

深度学习理论——过拟合、欠拟合、正则化、优化器

第三章 标准单元库(上)

Copy Siege Lion 5-minute online experience MindIR format model generation
![[CV-Learning] Linear Classifier (SVM Basics)](/img/94/b48e34b2c215ca47f8ca25ce97547e.png)
[CV-Learning] Linear Classifier (SVM Basics)

arm交叉编译

线性表之动态数组(ArrayList)的自实现

Tencent and NetEase have taken action one after another. What is the metaverse that is so popular that it is out of the circle?
随机推荐
CSDN spree -- college round table spree
An abstract class, internal classes and interfaces
安装Apache服务时出现的几个问题, AH00369,AH00526,AH00072....
[Daily Office][Miscellaneous][vscode]tab space
MySQL存储过程学习笔记(基于8.0)
理想的生活
MNIST Handwritten Digit Recognition - Lenet-5's First Commercial Grade Convolutional Neural Network
[English learning][sentence] good sentence
The second official example analysis of the MOOSE platform - about creating a Kernel and solving the convection-diffusion equation
SFTP的用法
使用JS在浏览器中打印菱形
[Development miscellaneous][Debug]debug into kernel
FAREWARE ADDRESS
Copy攻城狮的年度之“战”|回顾2020
arm-2-基础阶段
[Copy Siege Lion Log] Flying Pulp Academy Intensive Learning 7-Day Punch Camp-Study Notes
MNIST手写数字识别 —— 图像分析法实现二分类
CSDN大礼包--高校圆桌派大礼包
LeetCode_22_Apr_2nd_Week
AWS使用EC2降低DeepRacer的训练成本:DeepRacer-for-cloud的实践操作