暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

人大金仓数据库KingbaseES 流复制与物理同步相关问题

数据猿 2023-11-16
763


金仓数据库KingbaseES 流复制与物理同步相关问题

关键字:

流复制、synchronous、async 、sync、人大金仓、KingbaseES

KES集群设置中synchronous选项为async或sync的区别

参数synchronous的作用是设置流复制的同异步,如果设置该参数的参数值为async,则集群流复制状态为异步;如果设置该参数为 sync,则集群流复制状态为同步。

  • 当流复制设置为同步时,事务需要等到备服务器数据落盘之后才返回success。总是等待数据写入standby后,事物的commit才返回,会造成一定程度的应用响应时间时延,甚至网络不好的情形下,主库应用会发生等待超时;当standby库出现问题时,主库会hang住,不可单独的对外提供服务。

同步的优点:能保证数据主备服务器都写完WAL的情况下才进行下一步操作,保障数据及时性和一致性,保障安全

  • 当流复制设置为异步时,事务只需在主节点提交成功,不必等到备服务器同步数据就返回success。在主服务器上提交事务和从服务器上变化可见之间有一个小的延迟,这个延迟远小于基于文件日志传送,通常1秒能完成。如果主服务器突然崩溃,可能会有少量数据丢失。同时,如果用备机做读写分离,就会存在数据一致性的问题,对于一些一致性要求高的应用是不可接受的。

异步的优点主机不关心备机的存活状况,不关心网络时延,即使地处偏远,只要备机连上来,总会慢慢的同步,最后到达一个一致性状态。期间主机可正常的提供读写服务。

神马是物理同步?

  • 所谓物理同步,就是从服务器通过tcp流从主服务器中同步相应的数据。这样当主服务器数据丢失时从服务器中仍有备份,因此也被称为流复制。与基于文件日志传送相比,流复制允许保持从服务器更新。从服务器连接主服务器,其产生的流WAL记录到从服务器,而不需要等待主服务器写完WAL文件。物理同步的主备机之间能够实现数据的完全同步,主备机之间不仅能够同步已有的数据,对于主机新增的数据 备机也能很快更新与主机数据保持一致。

其架构图如下:

http://img.blog.csdn.net/20160121193522108?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

物理同步的搭建过程:

  • 环境准备:两个节点ip10.10.9.18 10.10.9.19
  • 准备两台刚安装完数据库的虚拟机(一台为主机,一台为备机)
  • 配置主机的连接认证配置文件($db/data/sys_hba.conf,$db为数据库安装路径)在文件的末尾添加备机IP:

host replication system 备机IP/32 trust

  • 修改主机的kingbase配置文件($db/data/kingbase.conf,$db为数据库安装路径)在kingbase.conf文件的末尾添加以下几列参数:

listen_addresses = '*'

wal_level = replica

max_wal_senders = 2

max_replication_slots =2

hot_standby = on

wal_keep_segments = 512

wal_log_hints = on

full_page_writes = on

  • 启动主机的KingbaseES服务,到主机的bin目录下($db /Server/bin,$db为数据库安装路径)执行:

./sys_ctl -D ‘data路径’ start

  • 在备机生成数据库基础备份, 到备机的bin目录下($db /Server/bin,$db为数据库安装路径)执行:

./sys_basebackup -h 主机IP -U system –p主机数据库端口号 -D ../../data -F p -X stream -R

执行命令后会在data目录下生成一个空的standby.signal文件

  • 在$db/Server/bin目录下执行:./sys_ctl –D ../../data start启动备机数据库

  • 在$db/Sever/bin下执行./ksql -W主机数据库密码 -dTEST -USYSTEM -p主机端口号,连接主机数据库,使用select * from sys_stat_replication;命令查看物理同步的流复制关系,主机能够查看到备机的流复制关系。

  • 至此,物理同步就已经搭建成功了。
  • 在主机中创建表 并插入数据:

  • 在备机中连接数据库,并查询,可以查到相应的数据:

参考资料

《kes物理同步》

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论