Buffer Pool的家庭地位如何?

Buffer Pool是啥?

数据库中的数据,实际上最终都要存放在磁盘文件。但对DB执行CRUD时,不可能直接更新磁盘数据,因为若你对磁盘进行随机读写操作,那速度太慢,随便一个大磁盘文件的随机读写操作,可能都要几百ms。真这么玩,你的DB每秒也就只能处理几百个请求了!

在对数据库执行CRUD时,实际上主要都是操作内存里的Buffer Pool中的数据,即你实际上主要是对DB的内存里的数据结构进行增删改。

在DB内存里执行一堆增删改操作后,内存数据是更新了,但这时若DB突然宕机,那内存里更新好的数据不就都没了?

所以MySQL也怕这个问题,于是引入了redo log,你在对内存数据进行增删改时,他同时也会把增删改对应日志写入redo log:

即使DB突然宕机,没事儿,只要从redo log日志文件读出你之前做过哪些增删改操作,瞬间就能重新把这些增删改操作在你的内存里执行一遍,就恢复了之前做过哪些操作了。

总结

Buffer Pool就是DB中我们第一个必须要搞清楚的核心组件,因为增删改操作首先就是针对这个内存中的Buffer Pool里的数据执行的,同时配合了后续的redo log、刷磁盘等机制和操作。

所以Buffer Pool就是数据库的一个内存组件,里面缓存了磁盘上的真实数据,Java业务系统对数据库执行的增删改操作,其实主要就是对这个内存数据结构中的缓存数据执行。

#Java求职##学习路径#
全部评论
感谢楼主分享!!
1 回复 分享
发布于 2022-02-11 18:41
华为集团IT开放应届生春招,时间窗很短,本硕博均可,base深圳、北京、东莞等 急需:21至22年毕业的博士生、海外毕业的中国籍留学生、国内高校本硕 投递入口:A. 即刻投递简历:yangjingjie3@huawei.com,微信:fishhh6 B. 登陆 华为招聘官网(Career.Huawei.com)直接进行简历投递,第一意向部门请选择【集团IT】 C. 微信关注公众号:华为集团IT招聘,了解最新动态&HR联系方式 ① 博士岗位:AI研究员、AI数据科学家、区块链高级工程师、大数据分析高级工程师、AI算法高级工程师、网络安全研究员、云计算PaaS技术研究员等~ ② 本硕岗位:数字化IT应用工程师、AI工程师、软件开发工程师、算法工程师、网络安全与隐私保护工程师等~
点赞 回复 分享
发布于 2022-02-21 15:11

相关推荐

不愿透露姓名的神秘牛友
昨天 10:52
点赞 评论 收藏
分享
沉淀一会:1.同学你面试评价不错,概率很大,请耐心等待; 2.你的排名比较靠前,不要担心,耐心等待; 3.问题不大,正在审批,不要着急签其他公司,等等我们! 4.预计9月中下旬,安心过节; 5.下周会有结果,请耐心等待下; 6.可能国庆节前后,一有结果我马上通知你; 7.预计10月中旬,再坚持一下; 8.正在走流程,就这两天了; 9.同学,结果我也不知道,你如果查到了也告诉我一声; 10.同学你出线不明朗,建议签其他公司保底! 11.同学你找了哪些公司,我也在找工作。
点赞 评论 收藏
分享
10-09 00:50
已编辑
长江大学 算法工程师
不期而遇的夏天:1.同学你面试评价不错,概率很大,请耐心等待;2.你的排名比较靠前,不要担心,耐心等待;3.问题不大,正在审批,不要着急签其他公司,等等我们!4.预计9月中下旬,安心过节;5.下周会有结果,请耐心等待下;6.可能国庆节前后,一有结果我马上通知你;7.预计10月中旬,再坚持一下;8.正在走流程,就这两天了;9.同学,结果我也不知道,你如果查到了也告诉我一声;10.同学你出线不明朗,建议签其他公司保底!11.同学你找了哪些公司,我也在找工作。
点赞 评论 收藏
分享
2 26 评论
分享
牛客网
牛客企业服务