文件读取 红黑树 b树 b+树

文章探讨了数据从硬盘快速读取的方法,强调了靠近CPU的内存优势以及内存和硬盘的区别。介绍了红黑树和B+树作为数据结构在提高读取速度中的应用,指出B+树由于其设计特点更适合大规模数据存储,特别是在内存优化场景下,使用内存中构建B+树可显著减少磁盘IO次数。
摘要由CSDN通过智能技术生成

导入

从流程来看,先由cpu 发出读取指令根据指令层层查找文件数据。 一旦找到数据则通过总线系统将数据传给cpu/高缓存。文件如何读取最快?

根据上面层次 越靠近cpu则越快。

内存和硬盘区别?

1 内存 > 硬盘(热知识)

2 当断电,电脑宕机 内存数据则会消失。而存储到硬盘数据则不会。

由于大部分数据存储在硬盘所有我们应该把主要问题放到硬盘数据读取。

我们可以把硬盘看成机械结构如图,硬盘慢主要问题是寻址耗时,根据主轴旋转的磁盘碟片和移动的磁头。找到正确的盘面,将磁头移动到正确的磁道上来定位数据。

总:减少磁盘io读写次数则文件读取更省时间。

目前最科学的读取(速度快)方法是什么?

导入:红黑树 (平衡二叉排序树)

如图这是典型的红黑树 

b树

这是最经典,主要特点是分裂

如图当我们最大度是 3,现在叶子最大是2 我们再次插入一个max则会进行分裂。具体过程可以看自己插入看看。

B-Tree Visualization

再补一张更清晰的 

b+树

它是根据b树基础上进行爆改,把data域全部放在最低层并且是以链式相连的。

根据下面图2 与上面对比 显而易见的多出了2倍的空位

回归话题

目前最科学的方式是利用从硬盘读取数据块到内存中,然后在内存中构建b+树存储块。如果把度设置为1024 则4g的内存 2次磁盘io即可拉满。

为什么不能红黑树 b树?

红黑树只能开2个插导致树高度很大,b树带着数据域,影响树高度大小。当然根据业务也可以选择。

记录学习过程

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值