温馨提示:文本由机器自动转译,部分词句存在误差,以视频为准
00:00
本节课我们来讨论一下牙山数据库写入数据的过程。在牙山数据库中,通过数据库实例来操作数据库,在数据库实例中维护了一个检查点对列,该队列中保存的都是内存中的脏数据,这里的脏数据是指还没有写到数据文件上的数据。当客户端进程提交事物的时候,将由服务器进程将数据写入检查点队列,并同时由日志写线程将事物操作写入连接重做日志文件。注意,只要重做日志写入成功,就算客户端的失误操作提交成功,但此时数据是被保存在的检查点队列中,如果这个时候数据库发生宕机,因将会造成写入数据的丢失,此时可以由CM线程读取之。
01:00
填写入成功的连接重做这个文件来恢复检查点队列中丢失的数据。这个过程叫做实例恢复,它由数据库引擎自动完成,不需要人为干预。正常情况下,当数据库产生了检查点时,将有数据脏块刷新线程将检查点队列中的脏数据写入数据库的数据文件,从而实现数据的持久化。此时便可以删除对应的连接重做日志文件了。但为了保证数据库在出现故障时能够实现数据库的完全恢复,在生产上建议保留所有的连接重做这个文件。注意,牙3数据库默认是日置归档模式。现在你已经知道牙山数据库写入数据的过程了,那你知道牙山数据库读取数据的过程吗?欢迎评论区留言讨论好了,记得点加号关注赵玉强老师。
我来说两句