关于达梦的数据守护集群与读写分离集群的区别
实现原理:都是基于redo日志实现的,不同的集群有不同的归档类型。
比如说:
单机的归档类型就是本地归档。
数据守护集群的归档类型包括:本地归档与实时归档以及不常用的异步归档
读写分离集群的归档类型包括:本地归档、实时归档、即时归档
(这里简单介绍下本篇博客中会出现的各种日志与各种归档的概念:
redo日志包:在 DM 数据库中添加、删除、修改对象,或者改变数据,都会生成对应记录格式的redo日志记录。
联机重做日志:生成的redo日志记录都会写到联机重做日志中,就是那两个 DAMENG01.log、DAMENG02.log日志文件,交替使用。
本地归档:写联机日志时会将redo日志写到本地的另一份归档中。
实时归档:主机执行commit操作时,发送日志到备机,备机确认收到后返回消息给主机,主机才提交事务。
即时归档:主机执行commit操作时,发送日志到备机,备机重演完成后返回消息给主机,主机收到确认消息后才提交事务。
异步归档:定时时间触发的。)
数据守护集群的特点:
1、高可靠性,备机秒级切换主机 。
2、高速网络传输、基于TCP/IP协议传输redo日志。
3、可靠的故障处理。
4、历史数据自动同步。
5、多重数据保护。
6、性能稳定。
7、滚动升级。
读写分离集群的特点:
我觉得读写分离集群可以看作是数据守护集群的升级版,两者的应用场景不同,但是特点、原理大致上都差不多。对于读写分离集群来讲,只是按照事物将读请求发送到备机进行执行从而减少主机使用的资源。使用读写分离的场景一般是读的业务占比大于百分之50。
数据守护集群与读写分离集群的区别:
1、使用场景不同:数据守护集群主要对应的主备容灾的解决方案,而读写分离集群主要对应的是负载均衡。
2、归档方式不同:数据守护集群默认使用realtime也就是实时归档。读写分离集群默认使用的是timely即时归档。
3、连接串不同:jdbc:dm://TEST?rwSeparate=1&rwPercent=25
rwSeparate 是否使用读写分离系统,缺省为 0;取值(0 不使用,1 使用)。
rwPercent 分发到主库的事务占主备库总事务的百分比,取值范围 0~100,缺省值 25。
达梦读写分离集群的搭建
与达梦守护集群的搭建流程基本一致,只是在于配置归档模式的时候ARCH_TYPE=timely,配置连接的时候要配置是否开启读写分离与事务占比。这里不做实机演示。
守护集群增减节点(如果不中断数据库服务,建议在数据库空闲的时候进行操作,不然备份还原以后可能会导致归档追不上。)
将守护集群关闭,数据库备份到新增节点下还原
修改原守护集群配置文件dmmal.ini与dmarch.ini。
新增节点正常配置dmmal.ini dmarch.ini dmwatcher.ini 文件然后mount模式启动数据库配置oguid。
mount启动:
报错说归档有问题,检查归档文件
这个地方忘记区分名称了。区分一下再次重启。
启动成功。配置oguid。
然后启动各节点守护进程,启动确认监视器 查看状态。
添加成功.
达梦守护集群的切换操作
1、首先登陆监视器
现在server1是主机,我们用switchover命令把server2.切换到主机模式。
SP_SET_GLOBAL_DW_STATUS(0, 6):更改守护进程状态。
SP_APPLY_KEEP_PKG():重演原主库的redolog的确保主备数据保持一致
欢迎大家学习达梦知识:eco.dameng.com