关注问题: DBMS如何管理自身的内存以及数据在自身内存和磁盘之间的back-and-forth?
执行引擎会告知Buffer Pool要什么,Buffer Pool把对应的page放入内存;内存不足时,使用替换策略进行替换。
如何构建一个Buffer Pool Manager(Buffer Cache):
6详解:
请求page,再没有空闲的frame情况下,buffer pool调用内部的replacer来获取一个可以被替换的frame。然后通过page table来得到对应当前buffer pool中该frame存储的page id,如果引用计数不为0,则必须重新获取一个frame(暂时这样理解,还需要确认);得到正确的可替换page,将其存储内容写回磁盘,然后重新置零该page(赋予新的pageid,重新读入对应的physical page内容,引用计数是置0还是置1?),成功;或者得不到可替换page,失败。
优化技术:
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。