主备侧重故障接替,读写分离利用备库分担查询,DSC 让多个实例共享数据库,MPP 和 DPC 则通过分布式计算与存储扩展能力。
架构区别
| 集群 | 数据如何存放 | 如何提供服务 | 主要用途 |
|---|---|---|---|
| 主备守护 DMDataWatch | 主备各保存一份数据,通过日志同步 | 主库提供服务,故障后由备库接替 | 高可用、容灾 |
| 读写分离 DMRWC | 基于主备,各自保存数据副本 | 主库负责写,备库分担读 | 减轻查询压力 |
| 共享存储 DMDSC | 多个实例共享同一份数据库数据 | 各实例都可承接连接和请求 | 高可用、负载分担 |
| 并行处理 DMMPP | 数据按规则分布在多个 EP | 各 EP 并行计算,由入口 EP 汇总结果 | 海量数据分析、复杂查询 |
| 分布计算 DMDPC | BP 存业务数据,MP 管元数据 | SP 接收 SQL,协调后端节点执行 | 分布式业务处理、横向扩展 |
节点名称: EP 是执行节点;SP 是 SQL 处理节点;MP 是元数据节点;BP 是基础数据节点。
以一张订单表为例:DSC 的多个实例访问同一份订单数据;MPP 把订单分布到多个 EP,各自计算后汇总;DPC 把订单放在 BP,由 SP 协调查询,MP 管理表结构、用户等信息。
架构图
主备守护 · DMDataWatch
读写分离 · DMRWC
共享存储 · DMDSC
并行处理 · DMMPP
分布计算 · DMDPC
数据库用户怎么改密
选对入口,改密一次,再用新密码新建连接验证。
| 集群 | 连接哪里改密 | 密码如何生效 | 验证哪些入口 |
|---|---|---|---|
| 主备 | 当前主库 | 日志同步到备库,可能有延迟 | 主库及允许登录的备库 |
| 读写分离 | 当前主库(写库) | 日志同步到读库,可能有延迟 | 主库、读库及读写分离入口 |
| DSC | 任一可执行管理操作的实例 | 修改共享数据库中的用户定义 | 各对外服务实例 |
| MPP | 任一正常 EP,使用 GLOBAL 连接 | 用户 DDL 分发到各 EP,等待执行完成后返回 | 从各业务入口 EP 新建全局连接 |
| DPC | 对外服务的 SP,使用非 LOCAL 连接 | 通过集群更新 MP 管理的用户元数据 | 各对外服务的 SP |
MPP 各 EP 保存自己的用户信息,通过全局 DDL 保持一致;DPC 的用户元数据由 MP 统一管理。因此,两者都通过集群入口修改一次,无需逐节点轮换密码。
改密后验证要注意三点:
- 必须新建连接。 已有连接继续可用,不能证明新密码生效。
- 备库可能尚未同步。 设置检查间隔和总超时,结合同步状态判断。
- 超时或验证失败,先确认结果。 分清网络故障、节点异常和密码错误,避免重复改密或直接回退。
MPP 的全局 DDL 有执行失败回滚机制;客户端断线或超时仍需确认最终状态。主库改密成功后,备库验证失败不会让主库密码自动回退。
连接与查主
MPP 连接 EP,DPC 连接 SP。直连一个节点 IP,也可以是面向整个集群的连接。
达梦 JDBC 使用 mppLocal=false 指定非本地连接,默认值也是 false:
jdbc:dm://<服务地址>:<端口>?mppLocal=false
该参数只控制连接模式;主备识别、读写分离和故障切换需单独配置。修改连接参数后,应重新建立连接。
主备环境可查询当前节点角色:
SELECT NAME, MODE$, STATUS$ FROM V$INSTANCE;
PRIMARY 表示主库,STANDBY 表示备库,NORMAL 常见于普通单机;OPEN、MOUNT 表示运行状态。改密以数据库实际角色为准,不能只看资产配置中的主备标签。
PAM 对接要点
- 查主时检查整组节点,执行前再次确认主库角色。
- 同一集群、同一用户生成一份新密码,只执行一次改密。
- 成功后同步各节点在 PAM 中保存的同名账号凭据。
- 分别记录改密结果与各入口验证结果,便于定位问题。
- 手动连通性测试和普通巡检,仍连接用户选中的资产。
参考文档
图源文件下载
- 下载五种架构总图(Excalidraw)
- 下载主备守护(Excalidraw)
- 下载读写分离(Excalidraw)
- 下载共享存储(Excalidraw)
- 下载并行处理(Excalidraw)
- 下载分布计算(Excalidraw)
- 下载图文件基础信息
— 写于八原 —返回文章列表 ↗