数据库为什么要有自己管理数据缓冲区?
2012-09-04 17:01
225 查看
1. 性能
操作系统对数据缓冲区的支持各有不同,而且从操作系统获取缓存页面的时间(指令)要比直接从内存自有缓冲区获取的时间长。
2. LRU 替换算法
操作系统一般采用LRU页面替换算法,但是数据库对页面的访问模式多样化,比如随机访问,顺序访问等等。操作系统LRU并不能很好的支持数据库的运行。
3. 数据预读
操作系统也会对数据页进行预读,但是仅限于物理相邻的页。数据库的顺序访问,并不保证页面在物理上也相邻。
4. 事务管理
数据库需要对页面实现两种操作,其一为pin和unpin操作来决定页面是否可以被淘汰,其二是强制页面写盘来保证事务持久性。操作系统的页面缓存并不完全支持。
操作系统对数据缓冲区的支持各有不同,而且从操作系统获取缓存页面的时间(指令)要比直接从内存自有缓冲区获取的时间长。
2. LRU 替换算法
操作系统一般采用LRU页面替换算法,但是数据库对页面的访问模式多样化,比如随机访问,顺序访问等等。操作系统LRU并不能很好的支持数据库的运行。
3. 数据预读
操作系统也会对数据页进行预读,但是仅限于物理相邻的页。数据库的顺序访问,并不保证页面在物理上也相邻。
4. 事务管理
数据库需要对页面实现两种操作,其一为pin和unpin操作来决定页面是否可以被淘汰,其二是强制页面写盘来保证事务持久性。操作系统的页面缓存并不完全支持。
相关文章推荐
- 转:数据库管理对象(SMO)-为什么没有System.Data.DBManagement命名空间?
- 为什么要搭建自己的缓存管理模块?
- 云数据库管理与数据迁移可以认证了,是时候证明自己了
- 用于参考的学生信息管理系统(数据库简单 可自己参考创建)
- 简单说说什么是数据库的事务管理,以及为什么要数据库事务管理。
- 从零开始搭建自己的网站十八:redis管理点击量并定时存入数据库
- 自己设计的一个亲自活动报名管理系统数据库
- 自己动手做博客之日志管理-1.2 数据库分析
- 为什么中国需要自己的数据库?
- 云数据库管理与数据迁移可以认证了,是时候证明自己了
- 隐藏其它数据库,只让用户能够看到自己拥有权限的数据库
- Informix IDS 11体系管理(918测验)认证指南,第 5 局部: 数据库效劳器把持(2)
- 管理系统数据库sql server 数据库管理
- ORACLE用户管理方式下备份数据和复制数据库
- Oracle442个应用场景----------数据库逻辑对象管理
- Android中使用SQLiteOpenHelper管理SD卡中的数据库
- 自己设计开发的通用后台管理系统开发框架(struts2+hibernate+spring+easyui)
- 设计自己的基于Selenium 的自动化测试框架-Java版(1) - 为什么selenium还需要测试框架?
- 自己珍藏的数据库SQL基础练习题答案
- NoSQL数据库探讨之一 - 为什么要用非关系数据库?