zl程序教程

您现在的位置是:首页 >  大数据

当前栏目

【性能优化】增量检查点

性能 优化 增量 检查点
2023-09-14 08:57:17 时间
Oracle从8i开始引入了检查点队列这么一种概念,用于记录数据库里面当前所有的脏数据块的信息,DBWR根据这个队列而将脏数据块写入到数据文件中。检查点队列按时间先后记录着数据库里面脏数据块的信息,里面的条目包含RBA(Redo Block Address,重做日志里面用于标识检查点期间数据块在重做日志里面第一次发生更改的编号)和数据块的数据文件号和块号。在检查点期间不论数据块更改几次,它在检查点队列里面的位置始终保持不变,检查点队列也只会记录它最早的RBA,从而保证最早更改的数据块能够尽快写入。当DBWR将检查点队列里面的脏数据块写入到数据文件后,检查点的位置也要相应地往后移,CKPT每三秒会在控制文件中记录检查点的位置,以表示Instance Recovery时开始恢复的日志条目,这个概念称为检查点的“心跳”(heartbeat)。检查点位置发生变更后,Oracle里面通过4个参数用于控制检查点位置和最后的重做日志条目之间的距离。在这里面需要指出的是,多数人会将这4个参数看作控制增量检查点发生的时间。事实上这是错误的,这4个参数是用于控制检查点队列里面的条目数量,而不是控制检查点的发生。

(1、)fast_start_io_target

该参数用于表示数据库发生Instance Recovery的时候需要产生的IO总数,它通过v$filestat的AVGIOTIM来估算的。比如我们一个数据库在发生Instance Crash后需要在10分钟内恢复完毕,假定OS的IO每秒为500个,那么这个数据库发生Instance Recovery的时候大概将产生500*10*60=30,000次IO,也就是我们将可以把fast_start_io_target设置为 30000。

(2、)fast_start_mttr_target

我们从上面可以看到fast_start_io_target来估算检查点位置比较麻烦。Oracle为了简化这个概念,从9i开始引入了 fast_start_mttr_target这么一个参数,用于表示数据库发生Instance Recovery的时间,以秒为单位。这个参数我们从字面上也比较好理解,其中的mttr是mean time to recovery的简写,如上例中的情况我们可以将fast_start_mttr_target设置为600。当设置了 fast_start_mttr_target后,fast_start_io_target这个参数将不再生效,从9i后 fast_start_io_target这个参数被Oracle废除了。

(3、)log_checkpoint_timeout

该参数用于表示检查点位置和重做日志文件末尾之间的时间间隔,以秒为单位,默认情况下是1800秒。

(4、)log_checkpoint_interval

该参数是表示检查点位置和重做日志末尾的重做日志块的数量,以OS块表示。

(5、)90% OF SMALLEST REDO LOG

除了以上4个初始化参数外,Oracle内部事实上还将重做日志文件末尾前面90%的位置设为检查点位置。在每个重做日志中,这么几个参数指定的位置可能不尽相同,Oracle将离日志文件末尾最近的那个位置确认为检查点位置。
                                                                                                                                                                                                                              from ITPUB http://www.itpub.net/thread-1341844-2-1.html
搜索引擎中数据同步系统性能优化之路 由于历史原因,当前系统采取定时全量数据同步方式,随着业务的发展,同步一次数据需要长达8个小时,业务上已无法忍受。本着对现有业务影响最小、缩短同步时间为原则,开始了对老系统大刀阔斧改造之旅。
实战宝典 | 如何让备份数据秒级可用,随时查询历史数据? 盘活二级数据的方案,从解决方案的角度是成立的,但实施起来面临着许多技术困难。CDM是备份技术领域近几年备受关注的技术方向。业界对于CDM的定义各有一些不同,在数据库领域,我们认为CDM是多项技术组合而成的解决方案,目的是帮助用户更快速、低成本的保存和使用数据库备份数据。阿里云数据库备份产品DBS,运用了业界领先的CDM(Copy Data Management)技术,提供了完全克服以上技术困难的整体解决方案——DBS沙箱,帮助用户全面激活从备份数据到二级数据库业务生态。
性能优化技巧 - 组表数据更新 组表是集算器提供的高性能存储格式,其原理在于将数据事先排序并以压缩方式紧致存储,好处是占用空间更小,可利用有序进行快速定位。 但这种存储方式在数据更新时会遇到麻烦,这是因为新数据也要和历史数据一起排序并压缩,常常会要求重写整个组表,重写操作非常耗时,但又不得不做。
如何实现文件增量同步——算法 如何增量同步文件,例如一个文本文件有10M,分别存放在A,B两个地方,现在两个文件是完全一样的,但是我马上要在A上对这个文件进行修改,B如何实现自动和A上的文件保持一致,并且网络的传输量最少。