Postgresql流复制
程序员文章站
2022-06-24 20:33:21
Postgresql流复制
简单理解:
简单来说,当用户提交请求来修改某个数据的时候,我们将这个修改的操作使用预写日志来保存(WAL),也就是先将用户要改动的结果保存在WAL中...
Postgresql流复制
简单理解:
简单来说,当用户提交请求来修改某个数据的时候,我们将这个修改的操作使用预写日志来保存(WAL),也就是先将用户要改动的结果保存在WAL中,然后再实际的去修改数据库。通过WAL我们可以解决服务器宕机出现的数据丢失的问题。这种将预写日志从主服务器传输到备用服务器,然后在备用服务器回放出预写日志中记录改动,这就是实现了主从复制。
而其中的传输预写日志有两种方法:存档式和流式。
存档式介绍:主服务器将预写日志主动拷贝到一个安全的位置(可以直接到备用服务器,也可以是第三台服务器),同时备用服务器定期扫描这个位置,并将预写日志拷贝到备用服务器端然后再回放。这样即使主服务器崩溃了,备用服务器也可以从这个安全的位置获取到一份完整的记录,以确保任何数据不会丢失。
流式复制介绍:主服务器直接通过TCP协议向备用服务器传输日志,避免了两次复制的开销,有利于减小备用服务器和主服务器直接的数据延时。但当主服务器崩溃时,未被传输到备用服务器的日志则会丢失,造成数据损失。
上一篇: POJ 2115.C Looooops“编程开发”
下一篇: C/C++混合编程代码实例