oceanbase缓存池
研究问题:搜索引擎如何管理磁盘上数据与内存上数据的流动
1.内存池缓冲磁盘上文件的一部分
2.用户修改或插入数据时(未保存) 数据时存在缓存池的 这样避免了频繁读写硬盘
3.缓存池两大控制的目标
a.空间上 把经常一起用的数据集中在缓存池储存 便于直接读
b.时间上(什么时候把数据存到缓冲池 什么时候存到硬盘) 最小化时间
4.如果执行器要读page2:
先从缓存池里面找 如果没有 就把磁盘上目录加载到缓存池 再找出page2读到缓存池里 执行器再解析 后续排序 筛选都是执行器
5.缓存池也分页(frame)
如何知道缓存池存了哪些数据:
有pagetable 类似于索引的机制 也可以在其中加锁
6.locks vs latches
锁(locks)
一般指代逻辑上的 一个表
锁(latches 有时候也叫mutex)
底层的 给表的底层的数据加上锁
7.page directory 磁盘上的目录 记的是几号页在什么位置上
page table 内存池里的索引
8.文件页储存在哪有全局策略和本地策略
9.缓存池不止一个 降低锁的冲突
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Hello Flu1t!