暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片
PostgreSQL--内核分析--数据缓冲区.pdf
457
28页
2次
2021-02-22
50墨值下载
PostgreSQL 数据库---内核源码分析 那海蓝蓝:生活点滴,随风拂去
1 / 28
PostgreSQL 深入理解缓冲
作者:李海翔
博客:http://blog.163.com/li_hx/
邮箱:lhx3000@163.com
1 什么是缓冲区 .............................................................................................................................. 2
2 常见的缓冲区 .............................................................................................................................. 2
2.1 常见缓冲区类型 ........................................................................................................... 2
2.2 缓冲区的衍生---缓存组件 ........................................................................................... 2
2.3 缓存与池的关系 ........................................................................................................... 3
2.4 缓存区与 cache 辨析.................................................................................................... 3
3 缓存的作用和常见场景 ............................................................................................................... 3
3.1 缓存的作用................................................................................................................... 3
3.2 缓存的常用场景 ........................................................................................................... 4
4 数据库中的缓冲....................................................................................................................... 4
4.1 PostgreSQL 数据缓冲区管理 ...................................................................................... 5
4.1.1 文件介绍 ............................................................................................................... 5
4.1.2 相关代码 ............................................................................................................... 5
4.1.3 Buf 作用与位置 .................................................................................................... 7
4.1.3.1 ReadBuffer 表明的层次关系 ........................................................................ 7
4.1.3.2 buf 分配看 buf 的使用 ............................................................................ 9
4.1.3.3 其他函数表明 buf 作用 ........................................................................... 9
4.1.4 Buf 结构 .............................................................................................................. 10
4.1.4.1 Buf 的整体结构 ........................................................................................... 10
4.1.4.2 Buf 的元信息结 ....................................................................................... 11
4.1.4.3 内外存地址是如何映射的 ......................................................................... 12
4.1.4.4 Buf 的主体结构 ........................................................................................... 13
4.1.4.5 Buf 的置换调度策略管理相关数据结构 ................................................... 13
4.1.5 Buf 置换管理算 .............................................................................................. 16
4.1.6 并行计算对 buf 置换的影响 ............................................................................. 17
4.2 PostgreSQL 日志缓冲区管理 .................................................................................... 19
4.2.1 日志缓存相关代 ............................................................................................. 19
4.2.2 日志缓存的管理方式 ......................................................................................... 22
4.2.3 双向缓存和单向缓存的比较 ............................................................................. 25
4.3 PostgreSQL 数据缓存区改进 .................................................................................... 25
4.3.1 buf 结构看改进---动态调整 buf 缓存大 .................................................. 25
4.3.2 buf IO 看改进---异步 IO .......................................................................... 26
4.3.3 buf 淘汰方式看改---freelist ...................................................................... 27
PostgreSQL 数据库---内核源码分析 那海蓝蓝:生活点滴,随风拂去
2 / 28
1 什么是缓冲
百度上讲:http://baike.baidu.com/view/266782.htm
缓冲器为暂时置放输出或输入资料的内存。
缓冲器内资料自储存设备(如硬盘)来,放置在缓冲器中,须待机送至 CPU 或其他运算
设备。
缓冲区(buffer)这个中文译意源自当计算机的高速部件与低速部件通讯时,必须将高速部件
的输出暂存到某处,以保证高速部件与低速部相吻合. 后来个意思扩展了,成为"时存
贮区"的意思。
确如上述,缓冲区,在计算机中,就是一个高速部件和低速部件的一个中介,如内存,
CPU 和外存设备(硬盘)等中转站。如果数据被预先存入内容,CPU 取到的数据的速度
就会快许多。再如 CPU 上的高速 cache,异曲同工。
2 常见的缓冲
2.1 常见缓冲区类型
只要存在衔接,在高低层次间有交互,中间地带必然存在,如同边界线上的军事缓冲区
一样,缓冲区的存在,尤其实质意义。计算机上的缓存,可以有效提高数据的吞吐效率
硬件级:主板的缓存、CPU 中的缓
操作系统层:操作系统的缓冲区、网络协议层的缓冲区
应用程序层:应用程序的缓冲区、数据库系统的缓冲区(大型应用程序,通常都会自己
理内存,自己提供缓冲区管理的方式
2.2 缓冲区的衍生---缓存组件
一些网站,为了提高访问速度,常使用一些缓存组件如 memcached ehcache
常见的还有 SysCacheMemCachePrevalence 等等
Memcached,一个高性能的分布式的内存缓存系统,是一个开源组件。
这些组件的研究,我们不深究,列在此,是扩展对于缓冲区的认识。
http://www.hudong.com/wiki/%E7%BC%93%E5%86%B2%E5%8C%BA,也是一样的文字
of 28
50墨值下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜