美文网首页
innode表:优化磁盘空间

innode表:优化磁盘空间

作者: robot_test_boy | 来源:发表于2021-10-19 08:00 被阅读0次

摘取自骏马金龙的第4章ext文件系统机制原理剖析

文件系统中block可能连续可能不连续,怎么找到这些block块呢?扫描一次block有可能比较久,扫描一次是否存储起来?文件系统索引innode横空出世了。除此之外还存储了文件的类型、权限、文件所有者、大小、时间戳等元数据信息。每一个inode占用128字节或256字节。

现在又出现问题了,一个文件系统中可以说有无数多个文件每一个文件都对应一个inode难道每一个仅128字节的inode都要单独占用一个block进行存储吗?这太浪费空间了。

所以更优的方法是将多个inode合并存储在block中,对于128字节的inode,一个block存储8个inode,对于256字节的inode,一个block存储4个inode。这就使得每个存储inode的块都不浪费。

在ext文件系统上,将这些物理上存储inode的block组合起来,在逻辑上形成一张inode表(inode table)来记录所有的inode。

举个例子,每一个家庭都要向派出所登记户口信息,通过户口本可以知道家庭住址,而每个镇或街道的派出所将本镇或本街道的所有户口整合在一起,要查找某一户地址时,在派出所就能快速查找到。inode table就是这里的派出所。它的内容如下图所示。

再细细一思考,就能发现一个大的文件系统仍将占用大量的块来存储inode,想要找到其中的一个inode记录也需要不小的开销,尽管它们已经形成了一张逻辑上的表,但扛不住表太大记录太多。那么如何快速找到inode,这同样是需要优化的,优化的方法是将文件系统的block进行分组划分,每个组中都存有本组inode table范围、bmap等。

相关文章

  • innode表:优化磁盘空间

    摘取自骏马金龙的第4章ext文件系统机制原理剖析[https://www.cnblogs.com/f-ck-nee...

  • MySQL 数据库优化方法一览

    软优化 查询语句优化 使用索引 优化子查询 分解表 使用中间表 增加冗余字段 分析表、检查表、优化表 硬优化 硬件...

  • mysql-索引优化

    # 单表、两表、三表的优化案例 如何建立索引并优化 -在explain的基础上进行优化: ## 建表 create...

  • MySQL优化框架

    1,SQL语句优化 2,索引优化 3,数据库结构优化 4,InnoDB表优化 5,MyISAM表优化 6,Memo...

  • Hive优化实践2-大表join小表优化

    4、大表join小表优化和join相关的优化主要分为mapjoin可以解决的优化(即大表join小表)和mapjo...

  • MySql 几种删除方式区别 drop、delete、trunc

    1、drop table table_name : 删除表全部数据和表结构,立刻释放磁盘空间,不管是 Innodb...

  • 【Hive】优化

    分区表的设计和优化 普通表结构问题 使用分区表可以优化上述查询问题 分桶表的设计和优化 Join问题 分桶表设计 ...

  • Mysql总结

    MySql的主要存储引擎有哪些,主要区别? MYISAM INNODE MEMORY 区别:MYISAM: 它不支...

  • mysql表碎片清理和表空间收缩

    mysql表碎片清理和表空间收缩(即清理碎片后report_site_day.ibd文件磁盘空间减小,该方案基于独...

  • greenplum日常维护

    2021-10-30 一 查询连接进程 二 磁盘空间不足 三 查看库 表 索引等空间信息 四 查询倾斜率表...

网友评论

      本文标题:innode表:优化磁盘空间

      本文链接:https://www.haomeiwen.com/subject/zjigoltx.html