Postgresql流复制

Postgresql流复制

简单理解:

简单来说,当用户提交请求来修改某个数据的时候,我们将这个修改的操作使用预写日志来保存(WAL),也就是先将用户要改动的结果保存在WAL中,然后再实际的去修改数据库。通过WAL我们可以解决服务器宕机出现的数据丢失的问题。这种将预写日志从主服务器传输到备用服务器,然后在备用服务器回放出预写日志中记录改动,这就是实现了主从复制。

而其中的传输预写日志有两种方法:存档式和流式。

存档式介绍:主服务器将预写日志主动拷贝到一个安全的位置(可以直接到备用服务器,也可以是第三台服务器),同时备用服务器定期扫描这个位置,并将预写日志拷贝到备用服务器端然后再回放。这样即使主服务器崩溃了,备用服务器也可以从这个安全的位置获取到一份完整的记录,以确保任何数据不会丢失。

流式复制介绍:主服务器直接通过TCP协议向备用服务器传输日志,避免了两次复制的开销,有利于减小备用服务器和主服务器直接的数据延时。但当主服务器崩溃时,未被传输到备用服务器的日志则会丢失,造成数据损失。

(0)
上一篇 2022年3月21日
下一篇 2022年3月21日

相关推荐