openGauss训练营第二期结营!一百个Q&A和PPT合辑大放送!随附105人结营学员名单...

2021年9月11-12日,由openGauss内核项目研发经理、openGauss社区Maintainer、openGauss布道师朱金伟老师领衔,联合openGauss社区Gauss松鼠会云和恩墨的专家们组织的第二期“8小时玩转openGauss训练营”活动通过线上直播的方式举办,获得圆满成功。本次参与学员超千人,最终有105人完成各项任务,顺利结营!

a10e370a9db0437dad4c5774557b8f6e.png

在为期2天的8小时学习过程中,9位主讲老师为大家带来了最精华、最实用、最高效的openGauss课程,带领学员们快速掌握了openGauss的核心架构及特色功能。学员们学习的热情格外高昂,在直播过程中积极提问,与讲师互动。小编精选了训练营中的100个问答请老师进行回答,并为大家放送,相信可以为大家在学习openGauss的过程中解答诸多疑惑。

Q&A

1、openGauss的主备与Oracle的Golden Gate相比有哪些优越性?

答:openGauss的主备属于物理复制,应该是和Oracle的ADG很像。关于性能,目前并没有一个统一的资料。

目前我个人能看到的是,备机的日志流并行解码、读取和事务回放,保证极大化日志回放吞吐,功能切分服务化、流水线协同,减少串行度。批处理化回放,消除单条回放反复获取/释放锁的并发控制和IO开销。Block级物理并行,去除按表切割并行机制,Locality更好、并行度更高。

在60%负载、70W+tpmc的条件下,openGauss的极致RTO可以实现备机10秒内接管主机业务,这一点在业界是比较优秀的。

2、openGauss有类似于MySQL的MGR或PXC结构的多主模式吗?

答:开源的openGauss数据库目前官方并没有发布MGR和PXC这类多主模式的插件,这些可以在合作伙伴发行的数据库版本中寻找,如MogDB等。

3、openGauss在逻辑复制上有没有增强?物理复制时可以级联复制吗?

答:openGauss提供逻辑解码功能,通过反解xlog的方式生成逻辑日志。目标数据库解析逻辑日志以实时进行数据复制。逻辑复制降低了对目标数据库的形态限制,支持异构数据库、同构异形数据库对数据的同步,支持目标库进行数据同步期间的数据可读写,数据同步时延低。

关于物理复制的主备复制目前是支持级联复制的。

4、一主一备同步方式会不会因为备机故障,导致主机的事务无法继续进行呢?

答:会的,同步复制必然会引起备机故障导致的主机业务挂起的现象。所以,建议开启最大可用模式,来避免这个问题。

5、在Dispatcher线程内,如何协调主机和备机各自的任务,是否是异步处理上述任务,主机和备机同时发出写操作时,是否会发生冲突?

答:备机是只读状态,它的写也是读取主机发送过来的WAL日志进行回放,Dispatcher线程主要是在备机进行并行日志回放时起作用,负责并行回放时的事务管理调度和数据页写入。

主机的写是业务数据的写,备机的写只是WAL日志的回放,不存在冲突。

6、进程在恢复的时候是以页为单位来处理的吗?

答:当开启极致RTO的时候,线程是以页为单位进行恢复的,但此时,备机不能提供数据读取服务,因为极致RTO不支持Hot Standby模式和主备从模式。

7、openGuess的主从架构可以实现自动切换吗?

答:开源的openGauss官方目前并没有发布自动切换的相关组件,这个可以参考合作伙伴的发行版本,如云和恩墨的MogDB等。

8、在实际的应用中,同步复制方法会出现事务提交延迟的现象吗?

答:同步提交的原理默认是当备库写入WAL日志后,主库就可以提交事务,当主库业务量大的时候,理论上是会出现备库事务延迟提交的现象。详见参数“synchronous_commit”,如果参数值设置为“remote_apply”,则主库提交需要等待备库应用完毕才可以,这样就不会出现备库事务延迟提交的问题。

9、多站点间有没有同一个实例多写的场景?

答:开源的openGauss目前是单机版本,支持的是单机主备部署,备机只能提供读特性。

目前开源的openGauss官方还没有发布多站点多写这个组件。

10、主备同步复制环境中,如果无法联系到备库,主库会怎么处理以保证数据的一致性?

答:主备同步复制环境中,如果备机连接丢失,主机事务也会挂起,如果使用了最大可用模式,则会默认改为异步模式。

无论是同步复制还是异步复制,由于备机已经故障,所以不存在主备数据的一致性这个说法了。但当备机恢复后,备机的第一次数据同步,会告诉主机自己所需的起始LSN位置,同步所有差异的WAL日志,最终保持同步。

11、多站点做到多写双活会不会有竞争力?

答:是的,多站点双活在某些业务应用场景下肯定是有一定竞争力优势的,但对于高负载业务场景,考虑到数据的一致性和数据同步的性能问题,往往集群节点也不会太多。

12、可不可以通过shard方式做到全局双活多写数据库?

答:可以,openGauss来源于PG-XC项目,这个项目就是使用shard方式实现的分布式数据库,实现多写多副本,后来应用到了华为云的GaussDB(for openGauss),这个您可以参考一下华为云GaussDB(for openGauss)的文档介绍。

13、openGauss支持级联备吗?备机会回放还未提交的事务日志吗?

答:openGauss支持级联备机,未提交的事务日志,备机不回放。

14、openGauss的主备集群的读写分离和负载均衡是什么组件在负责?

答:开源的openGauss官方还没有发布相应的读写分离组件和负载均衡组件,但作为开源数据库,类似Keepalived+HAProxy这样的组合您可以尝试。另外,请关注openGauss社区合作伙伴发行的数据库版本,可能有相应的产品组件。

15、openGauss的主备HA,是自身组件还是外加插件实现的?

答:openGauss的主备复制是自身组件实现的功能。

16、WalReceiver消息队列的异常处理时怎么考虑的?

答:Walreceiver出现异常之后,会自动退出,然后重新连接主机继续日志同步,若出现故障场景,Walreceiver一直无法正常从主机同步数据,则需要触发备机重建(gs_ctl build)。

17、数据回放是指的是从日志里恢复数据吗?inode个数是强制要求么?

答:是的,数据回放可以理解为读取WAL日志进行数据恢复;数据库安装对文件系统的inode个数并没有强制要求。

18、openGuass是否有事务槽的概念,如果有事务槽,如果准备切换后事务槽是否也可以自动切换?

答:ustore有事务槽这个概念,astore没有这个概念。openGauss是单机,切换后一切事务都是从头开始,没有什么切换的说法。

19、openEuler和CentOS推荐优先选哪个?

答:通常情况下,建议使用openEuler,openGauss在openEuler操作系统的测试和验证更加充分,而且openGauss支持openEuler的ARM版本,可以充分发挥NUMA特性。

20、对于大事务有没有类似于在MySQL中,大事务阻塞DDL操作,会出现复制延迟的概念?

答:出现大事务(长事务),数据库的xlog日志会同步到备机,但是在备机上并不能马上看到该事务信息,需等到主机事务提交日志并在备机回放后可见。

21、openGuass有没有引入复制槽机制,如果没有,那么怎么防止异步复制中的大事务可能使主从断开的问题?

答:openGauss引入了复制槽机制。

22、most_available_sync=off和synchronous_commit=off这两个参数是否需要同时设置on或off?如果synchronous_commit=on表示同步,那most_available_sync=on或off有意义吗?

答:most_available_sync表示开启最大可用模式,只是确保在有同步备机故障时,主机事务不因同步备机故障而被阻塞,如果没有同步备机的时候默认就是异步同步,相当于这个参数无效了。synchronous_commit则决定了事务的同步方式,除了on和off以外,还有remote_write/ remote_revice/ remote_apply等。详细参数介绍可以参考官方文档。

23、openGause有什么好的备份工具吗?

答:openGauss的物理备份工具有:gs_basebackup、gs_probackup等;

openGauss的逻辑备份工具有:gs_dump、gs_dumpall等。

24、安装主机备机,实际做的时候需要两台机器吗?

答:不是必须的,但主备安装部署建议至少2台机器,如果是同一台机器,则无法使用OM工具进行主备部署,需要手动配置主备参数。

25、openGauss的HA是否类似Oracle的ADG,可以自由计划性切换switchover和故障切换failover?

答:openGauss的主备可以使用gs_ctl命令调用switchover和failover实现主备角色切换。

26、openGuass在逻辑复制上有没有增强?物理复制时可以级联复制吗&#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值