12
返回列表 发新帖
楼主: jayli426

[讨论] 脏数据块都要被写出两次吗?

[复制链接]
论坛徽章:
43
ITPUB9周年纪念徽章
日期:2012-09-28 16:17:24马上有钱
日期:2014-06-16 17:13:52马上有对象
日期:2014-06-16 17:13:52马上加薪
日期:2014-06-16 17:13:52现任管理团队成员
日期:2014-06-17 02:21:03版主1段
日期:2014-06-17 02:21:04马上有车
日期:2014-10-24 22:35:032010数据库技术大会纪念徽章
日期:2015-04-23 10:33:192011数据库大会纪念章
日期:2015-04-23 10:33:192012数据库大会纪念章
日期:2015-04-23 10:33:19
11#
发表于 2012-7-20 22:45 | 只看该作者
缓冲区缓存中的块实质上在一个位置上管理,但有两个不同的列表指向这些块:
  脏块列表:其中的块需要DBWn写入磁盘
  非脏块列表:8.0以前的版本是LRU算法,之后采用接触计数算法,如果命中缓存中的一个块,则会增加与之相关联的计数器。块缓冲区不再像以前那样移到块列表的最前面,而是原地留在块列表中,只是递增它的接触计数。不过,一段时间,块会在列表中“移动”。例如,脏块由脏列表指向,过一段时间要重用块时,如果缓冲区已满,就要将接触计数较小的某个块释放,换由非脏块列表来指向

使用道具 举报

回复
论坛徽章:
5
复活蛋
日期:2012-11-02 16:27:37灰彻蛋
日期:2013-01-27 17:08:112013年新春福章
日期:2013-02-25 14:51:24复活蛋
日期:2013-05-27 15:29:10优秀写手
日期:2014-07-01 06:00:12
12#
发表于 2012-9-30 19:30 | 只看该作者
从LRUW写是这样的:
1、脏块从辅助LRU和LRU的冷端尾移到LRUW
2、从LRUW写到磁盘,再放入辅助LRU。

“1、脏块从辅助LRU和LRU的冷端尾移到LRUW”,这句话没有问题吗?

使用道具 举报

回复
论坛徽章:
5
复活蛋
日期:2012-11-02 16:27:37灰彻蛋
日期:2013-01-27 17:08:112013年新春福章
日期:2013-02-25 14:51:24复活蛋
日期:2013-05-27 15:29:10优秀写手
日期:2014-07-01 06:00:12
13#
发表于 2012-9-30 20:15 | 只看该作者
vage 发表于 2012-7-6 08:50
是的,进入LRUW的时候,脏块还会保留在CKPT-Q中,脏块有时会在两个链表中:LRUW、CKPT-Q。
这是我的测试 ...

个人认为:脏块一定会出现在LRUW上,可能会出现在CKPT-Q上,因为CKPT-Q的大小有限制,那么会有一些LRUW上的脏块,在来不及被插入到CKPT-Q上时,已经被写入了磁盘,从LRUW上摘掉了,从而不会出现在CKPT-Q上。(不知道我的理解对不对,还请大牛指教。)

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表