程序笔记   发布时间:2022-05-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了bdb log为什么 有 region buffer 和 log cursor buf大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

对bdb log来说,在共享内存中 有一块 buffer,同时每一个 log cursor 都自带一个 malloc的buf. why?

我认为:
region buffer存的是log最末尾,主要用来写. 毕竟 log 是 顺序写的,最末尾的 log rec当然最热. 同时 多个 log rec缓存起来 一次写入对io 有极大好处.

log cursor的buf是用来读的. 可以是log 中每一部分. 这里 类似 read ahread(read behind),每次从disk读,都是读一整块 log buf size.

好处@R_201_9772@,但同时 逻辑 就复杂了,

在logc_get() 中,需要虑: 

@H_502_11@
  • 要取的 log rec是否在 cursor buf中? (必须 整个 log rec都在 cursor buf)

  • 要取的 log rec是否在 region buf中? (整个 log rec都在 region buf; 部分在region buf,部分需要从disk 读的情况)

  • 从disk log file 读log rec

  • 大佬总结

    以上是大佬教程为你收集整理的bdb log为什么 有 region buffer 和 log cursor buf全部内容,希望文章能够帮你解决bdb log为什么 有 region buffer 和 log cursor buf所遇到的程序开发问题。

    如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

    本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
    如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。