Ask Hoegh中buffer cache和buffer有什么区别


这期内容当中小编将会给大家带来有关Ask Hoegh中buffer cache和buffer有什么区别,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
问:答:首先我们对比一下db block buffer cac免费云主机域名he和redo buffer的概念和功能。

buffer cache,其中文名称为缓冲器高速缓冲存储器。按照oracle官方的说法,buffer cache就是一块含有许多数据块的内存区域,而这些数据块主要都是数据文件里的数据块内容的拷贝。
由于buffer cache位于物理文件系统和块设备驱动程序之间,因此,当物理文件系统需要从块设备上读取数据时,它首先试图从buffer cache中去读。如果命中,则内核就不必在去访问慢速的块设备。否则如果命中失败,也即数据不在buffer cache中,则内核从块设备上读取相应的数据块,并将其在buffer cache中缓存起来,以备下次访问之用。
类似地,但物理文件系统需要向块设备上写数据时,也是先将数据写到相应的缓冲区中,并将这个缓冲区标记为脏(dirty),然后在将来的某些时候将buffer cache中的数据真正地回写到块设备上,或者将该缓冲区直接丢弃。从而实现减少磁盘写操作的频率。
redo buffer,又叫Redo Log Buffer,是SGA中一段保存数据库修改信息的缓存。这些信息被存储在重做条目(Redo Entry)中,重做条目中包含了由于INSERT、UPDATE、DELETE、CREATE、ALTER或DROP所做的修改操作而需要对数据库重新组织或重做的必须信息。在必要时,重做条目可用于数据库恢复。重做条目是Oracle数据库进程从用户内存中拷贝到Redo Log Buffer中去的。重做条目在内存中是连续相连的。后台进程LGWR负责将Redo Log Buffer中的信息写入到磁盘上活动的重做日志文件(Redo Log File)或文件组中去的。参数LOG_BUFFER决定了Redo Log Buffer的大小。

接下来,我们在对比一下buffer和cache的概念。
缓存(cache)是把读取过的数据保存起来,重新读取时若命中(找到需要的数据)就不要去读硬盘了,若没有命中就读硬盘。其中的数据会根据读取频率进行组织,把最频繁读取的内容放在最容易找到的位置,把不再读的内容不断往后排,直至从中删除。
缓冲(buffers)是根据磁盘的读写设计的,把分散的写操作集中进行,减少磁盘碎片和硬盘的反复寻道,从而提高系统性能。linux有一个守护进程定期清空缓冲内容(即写如磁盘),也可以通过sync命令手动清空缓冲。
两者都是RAM中的数据。简单来说,buffer是即将要被写入磁盘的,而cache是被从磁盘中读出来的
从以上两组概念对比,我们就不难理解buffer cache和buffer的区别了。上述就是小编为大家分享的Ask Hoegh中buffer cache和buffer有什么区别了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注百云行业资讯频道。

相关推荐: 怎么解决数据库报错RMAN-05001

本篇内容主要讲解“怎么解决数据库报错RMAN-05001”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么解决数据库报错RMAN-05001”吧!问题:RMAN-05001: auxiliary file name…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 01/15 18:26
下一篇 01/15 18:26