欢迎来到天天文库
浏览记录
ID:23518333
大小:13.29 MB
页数:42页
时间:2018-11-08
《基于postgresql的多缓冲池自适应配置设计与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、硕士论文基于PostgreSQL的多缓冲池自适应配置设计与实现图2.3.1访问单一缓冲池的请求页面从磁盘上检索数据称为物理读取,物理读取成本非常高,因为磁盘访问比从主存读取需要更多的时间。物理读取可能也需要在缓冲池中进行页面替换,这样就增加了额外的花费。数据库管理员试图最小化物理读取的数目,在给定的时间段内这导致缓冲池“阅读次数匹配记录”的增加(缓冲池命中率增加),降低数据访问时间(DataAccessTime,DAT),或者执行一个查询需要检索页面的时蝌37J。当发生替换页面时,就要从缓冲池中选择
2、一个受损页面,取而代之是一个请求页面。如果缓冲池中的这个页面是脏页的,它的内容已经被改变,它必须被写入到磁盘。如果该页不是脏页,那么没有必要写入磁盘,同时在缓冲池中传入的页面替换受损页面博J。前面给出的几种替换策略都是力求最小化数据访问时间。包括了最近最少使用(LeastRecentlyUsed,LRU),最近最多使用的(MostRecentlyUsed,MRU)和最不频繁的(LFU)和最频繁使用的(MFU)【91。对于LUR和MRU替换原则,选择替换的页面分别是最近最少访问的或者最近最多使用的页面
3、。如果一个请求的数据页面在很短的时间段内被再次访问的概率很高,最新的页面就保存在了缓冲池内,以及替换最近少用的页面,那么LRU就是有效的。如果页面已被前面访问后又被访问的概率很低,那么MRU是一个很好的替换算法,在LFU和MFU之间关系也是如此的。每个页面都有一个计数器用于监视它如何频繁的使用。最不常用的页面在LFU中最先被替换,最常用的页面在MFU中最先被替换【7J。最小化磁盘访问的方法之一是使用比较稳定的页面替换算法。在前面提出的几种算法主要研究的是最近使用和频繁使用的页面。LRU—K算法主要内
4、容是跟踪最后一次对内存页面进行K引用的时间,并按照所期望的未来行为,使用统计信息对72相关工作和研究现状硕士论文页面进行等级排序。根据该统计信息,决定要舍弃内存中哪个驻留页面,以便为必须要读入内存中、最近访问过的页面腾出空间。由于经常收集关于引用页面的统计信息,因此LRU—K算法可以随时适应并不断更改的访问模式。它的主要思想是用一定数量的数据库对象去替代最近最少访问的同样数量的数据库对象,可以避免频繁替换。这种算法在同等软件、硬件环境下大大的改善了数据库的性能【22。。当前PostgreSQL使用L
5、RU替换策略,试图整合LRU—K算法,希望减少磁盘争夺【lo】。另一个可能性就是考虑多缓冲池,通过缓冲区管理器控制缓冲的分配和在每个缓冲池中进行的页面替换。目前也提出了更加复杂的缓冲区划分政策。例如,Davison和Graefe试图估计使用缓冲区的代价【ll】。原则上缓冲管理器的分配职责类似于经济利益最大化原则。例如经纪人分配出购买特定资源的货币,进程可以购买这些资源。如果两个进程需要相同的资源,经纪人必须确定哪一个进程是更值得购买。如果参与竞争的进程能够购买起这个资源,在系统中有利润最大化后,就执
6、行这个进程。就可以将这个资源出售给这些进程。数据库管理系统的查询进程需要为执行查询去购买特定的资源。缓冲区管理器的工作可以称为‘缓冲区经纪人’,用于提高系统吞吐量有效的利用缓冲区【39】。用户执行执行查询,试图通过缓冲区管理器进行划分页面来完成满足查询的需要。缓冲区分配策略执行一个查询,要选择缓冲的数目主要是基于需求因素,还包括缓冲区的可用系数和动态负载因子【4J。需求因素要考虑查询需要的空间,并指派更多的缓冲区来满足查询的需要。缓冲区的可用性主要考虑用于查询所需空闲的缓冲区数目,以及确当前定查询特
7、性的动态负载因子。一个良好的缓冲划分策略应考虑所有的这些因素。缓冲区划分策略的目标是为查询分配缓冲区,以是减少磁盘访问次数。分散的缓冲区分配原则例如是先进先出[FIFO],最近最少使用的(LRU),随机的,时钟等待设置【8f9用缓冲区的数目,不使用特定查询访问模式。动态分配缓冲区页面是非常可取的方法,但是需要考虑预测负载,以及在执行当前的查询时进行划分缓冲池。换句话说,每个查询可以分配到一个DBMS缓冲池,每个查询的特点是随机,连续,循环或者分层关系。引用关系的页面属于这种关系的引用序列。例如查询:
8、简单访问一个关系元组就可以称为一个随机访问。在连续的引用中,选择使用一个聚集索引,去引用和处理一个又一个不重复的页面。当重复执行顺序引用时,引用就可以称为一个循环引用。分层引用是一个页面访问序列,形成一个从根到叶子的索引的遍历。预期的错误页面数目,或者访问磁盘的数目,根据错误页面的概率和观察的错误数,得出每种引用的特定数学等式。分类查询引8硕士论文基于PostgreSQk的多缓冲池自适应配置设计与实现用缓冲池的另一种方法是数据对象类型的分类。这是由Martin等人在动
此文档下载收益归作者所有