(6)达梦 DM DataWatch读写分离集群 环境部署实践

在前两篇博客里面我们对达梦数据库的DM数据守护(Data Watch)的实时主备进行了技术原理学习并动手部署实践。本篇技术分享文章是基于Linux下达梦数据守护的读写分离集群配置过程,配置方案为常见的一个写主库和一个实时读备库。

首先来简单了解下达梦数据守护集群中读写分离技术集群的技术原理。

读写分离集群是基于即时归档或实时归档实现的高性能数据库集群,不但提供数据保护、容灾等数据守护基本功能,还具有读写操作自动分离、负载均衡等特性。读写分离集群最多可以配置8个即时备库或8个实时备库,提供数据同步、备库故障自动处理、故障恢复自动数据同步等功能,也支持自动故障切换和手动故障切换两种守护模式。

一般情况下,应用系统中查询等只读操作的比例远大于Insert/Delete/Update等DML操作,修改对象定义等DDL操作的比例则更低。但是,这些操作往往混杂在一起,在高并发、高压力情况下,会导致数据库性能下降,响应时间变长。借助读写分离集群,将只读操作自动分发到备库执行,可以充分利用备库的硬件资源,降低主库的并发访问压力,进而提升数据库的吞吐量。

读写分离集群不依赖额外的中间件,而是通过数据库接口与数据库之间的密切配合,实现读、写操作自动分离特性。DM的JDBC、DPI、DCI、ODBC、Provider等接口都可以用来部署读写分离集群。

根据是否满足读提交事务隔离级特性,读写分离集群可以配置为事务一致模式和高性能两种模式。简单的说,事务一致模式下,不论一个Select语句是在备库执行、还是在主库执行,其查询结果集都是一样的。高性能模式则不能保证查询是一致的,备库的数据与主库的数据同步存在一定的延迟,当Select语句发送到备库执行时,返回的有可能是主库上一个时间点的数据。

部署注意事项:

数据守护系统的读写分离集群中各实例使用的DM服务器版本应一致,同时还应注意各实例所在主机的操作系统位数、大小端模式、时区及时间设置都应一致,以及使用同一个用户启动DM服务器和守护进程dmwatcher,以免系统在运行时出现意想不到的错误。

一、部署环境介绍

    机器rw1、rw2、gc1。rw1和rw2用来部署主备库,gc1用来部署确认监视器。

其中rw1和rw2配置两块网卡,一块接入内部网络交换模块,一块接入到外部交换机,gc1接入内部网络。

目录与存储规划

用途

目录路径

备注

数据库软件安装目录

/dm8

可用空间>50 GB

实例安装目录

/dmdata

单独挂载性能最好的磁盘建议 SSD

归档日志存放目录

/dmarch

单独挂载磁盘

备份文件存放目录

/dmbak

单独挂载磁盘

    都事先安装了DM,安装路径为’/dm8’,执行程序保存在’/dm8/dmdbms/bin’目录中,数据存放路径为’/dmdata’。数据库软件安装详见单机规范化部署。

表1 配置环境

机器名

IP地址

初始

状态

操作系统

备注

rw1

192.168.1.7 192.168.10.7

主库 DMP

Linux 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

192.168.1.7外部服务IP;
192.168.10.7内部通信IP

rw2

192.168.1.8 192.168.10.8

备库 DMP

Linux 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

192.168.1.8外部服务IP;
192.168.10.8内部通信IP

gc1

192.168.10.2

确认监视器

Linux 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

表2 端口规划

实例名

PORT_NUM

MAL_INST_DW_PORT

MAL_HOST

MAL_PORT

MAL_DW_PORT

SDMP

32141

33141

192.168.10.7

61141

52141

SDMS

32142

33142

192.168.10.8

61142

52142

二、数据初始化准备

主rw1机器上初始化库至目录/dmdata:

--初始化实例

[dmdba@~]$ /dm8/dmdbms/bin/dminit PATH=/dmdata/ DB_NAME=DMP INSTANCE_NAME=SDMP PAGE_SIZE=32 EXTENT_SIZE=32 LOG_SIZE=256

[dmdba@rw1 ~]$ /dm8/dmdbms/bin/dminit PATH=/dmdata/ DB_NAME=DMP INSTANCE_NAME=SDMP PAGE_SIZE=32 EXTENT_SIZE=32 LOG_SIZE=256

initdb V8

db version: 0x7000c

License will expire on 2023-03-25

Normal of FAST

Normal of DEFAULT

Normal of RECYCLE

Normal of KEEP

Normal of ROLL

 log file path: /dmdata/DMP/DMP01.log

 log file path: /dmdata/DMP/DMP02.log

write to dir [/dmdata/DMP].

create dm database success. 2022-05-16 09:38:04

--启动服务  (初始化的实例必须先启动一次,才能脱机备份)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值