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