
本周目标为了解服务规范与数据库体系结构达梦数据库作为国产数据库的领军产品在服务规范和体系结构上借鉴了国际主流数据库的优点同时形成了自身独特的技术体系。本周主要从达梦数据库的体系结构、服务规范、运行机制和部署标准等方面进行深入学习。一、达梦数据库体系结构1.1 整体架构达梦 DM8 采用多进程多线程混合架构整体分为存储层、计算层和接口层三个层次1存储层负责数据的物理存储和管理包括数据文件、控制文件、重做日志文件、归档日志文件等2计算层负责 SQL 解析、优化、执行包括查询优化器、执行引擎、事务管理器3接口层提供外部访问接口包括 DPI达梦编程接口、JDBC、ODBC、.NET Provider 等1.2 内存结构达梦数据库的内存结构由共享内存和私有内存两部分组成1共享内存System Global Area所有用户进程共享的内存区域。主要包括a. 数据缓冲区Data Buffer缓存数据页减少磁盘 I/O命中率是衡量性能的关键指标b. 日志缓冲区Redo Log Buffer缓存重做日志提高日志写入效率c. SQL 缓冲区缓存解析后的 SQL 语句和执行计划避免重复解析d. 字典缓冲区缓存数据字典信息如表定义、用户权限等e. 锁管理区管理并发控制中的各种锁行锁、表锁、意向锁2私有内存Process Global Area每个用户进程独占的内存区域包含排序区、哈希区等1.3 进程结构达梦数据库运行时包含以下核心进程1dmserver数据库主服务进程负责接收客户端连接、处理 SQL 请求2dmwatcher守护进程实时监控主备库状态故障时自动执行角色切换3dmmonitor监控进程用于数据守护集群的状态查询和手动切换仲裁4dmcss集群同步服务进程DSC 集群中的节点间心跳检测和成员管理5dmasmsvr自动存储管理服务进程负责 DSC 集群中的共享磁盘管理6dmap达梦辅助插件进程管理和运行各类数据库插件7worker 线程dmserver 内部的工作线程池用于处理具体的 SQL 请求1.4 存储结构达梦数据库的存储层次从大到小依次为1数据库Database一个独立的数据库实例由多个表空间组成2表空间Tablespace逻辑存储容器可包含多个数据文件。常用表空间包括a. SYSTEM 表空间存放数据字典和系统信息b. MAIN 表空间默认用户数据表空间c. TEMP 表空间临时数据存储用于排序、哈希等操作d. ROLL 表空间回滚段支持事务回滚和 MVCC 多版本读一致性3数据文件Data File表空间对应的物理文件以 .DBF 为后缀4段Segment表空间中一组逻辑连续的数据页集合一个表就是一个段5簇Cluster最小分配单位默认 16 个页组成一个簇64KB6页Page最小的 I/O 单元默认大小为 32KB1.5 事务与并发控制1事务的四个特性ACIDa. 原子性Atomicity事务中所有操作要么全部成功要么全部回滚b. 一致性Consistency事务执行前后数据库都处于一致状态c. 隔离性Isolation并发事务之间互不干扰达梦默认采用读已提交隔离级别d. 持久性Durability事务提交后其修改永久保存在数据库中2锁机制a. 共享锁S 锁用于 SELECT 查询多个事务可同时持有b. 排他锁X 锁用于 INSERT、UPDATE、DELETE 操作独占资源c. 意向锁IS/IX 锁表级锁标识表中有行正被锁定提升加锁效率二、数据库服务规范2.1 服务管理规范1服务启停流程a. 启动dm.ini 配置文件加载 → 内存初始化 → 打开控制文件 → 打开数据文件 → 重做恢复 → 开放服务b. 停止先关闭所有用户连接ABORT IMMEDIATE→ 回滚未完成事务 → 写检查点 → 关闭数据文件 → 释放内存2服务等级SLAa. 核心业务系统可用性 99.99%RTO 30 秒RPO 0b. 重要业务系统可用性 99.9%RTO 5 分钟RPO 1 分钟c. 一般业务系统可用性 99%RTO 30 分钟RPO 15 分钟2.2 备份恢复规范1备份策略分级a. 全量备份FULL每周一次备份所有数据文件和归档日志b. 增量备份INCREMENT每天一次只备份自上次全量或增量后变化的数据c. 归档备份ARCHIVE持续进行每次归档日志产生时自动备份2恢复流程a. 完全恢复从最新的全量备份还原数据文件再应用所有归档日志到最新状态b. 不完全恢复恢复到指定的时间点或 SCNSystem Change Number用于误操作回退c. 表空间恢复仅恢复特定表空间适用于部分损坏场景2.3 安全管理规范1用户认证支持数据库认证密码管理和操作系统认证OS_AUTH2权限控制分为系统权限CREATE TABLE 等和对象权限SELECT ON table 等3审计功能记录所有数据库操作日志包括登录、SQL 执行、权限变更等4密码策略最小长度 8 位含大小写字母和数字有效期 90 天强制更改2.4 运维规范1日常巡检项目a. 检查数据库运行状态SELECT STATUS$ FROM V$INSTANCE须返回 OPENb. 检查表空间使用率SELECT * FROM DBA_FREE_SPACEc. 检查归档状态SELECT ARCH_MODE FROM V$DATABASE须返回 Yd. 检查锁等待SELECT * FROM V$LOCK WHERE BLOCKED 1e. 检查错误日志查看 dmserver 日志中是否有 ORA- 错误2账号权限三权分立a. SYSDBA数据库管理员负责日常运维、备份恢复b. SYSSSO安全管理员负责用户管理、权限分配c. SYSAUDITOR审计管理员负责审计策略配置和审计日志审查三、数据库性能体系3.1 性能指标1吞吐量TPS/QPS每秒事务数 / 每秒查询数衡量数据库处理能力2响应时间RT从请求发起到结果返回的时间通常关注 P50/P95/P993并发连接数同时活跃的数据库连接数4缓存命中率数据缓冲区中能找到所需数据的概率目标 95%5锁等待率事务因等待锁而阻塞的时间占比3.2 性能优化思路1SQL 优化通过 EXPLAIN 查看执行计划检查全表扫描、索引使用情况、JOIN 顺序2参数调优调整数据缓冲区大小BUFFER、最大连接数MAX_SESSIONS、检查点间隔等3索引优化为高频查询条件列创建索引删除冗余索引定期重建碎片化索引4架构优化读写分离主库写备库读、分库分表、引入缓存层Redis四、词汇表dmserver达梦数据库主服务进程每个数据库实例对应一个 dmserver 进程dmwatcher数据守护进程监控主备库状态实现自动故障切换。RTO ≤ 30 秒dmap达梦辅助插件进程API 调用和插件运行的宿主进程SGASystem Global Area系统全局区所有进程共享的内存区域PGAProcess Global Area进程全局区每个进程私有的内存区域表空间Tablespace达梦的逻辑存储容器物理上对应一个或多个数据文件数据页Page达梦最小的 I/O 单位默认 32KB检查点Checkpoint定期把内存中的脏页刷写到磁盘的过程保证数据一致性SCNSystem Change Number系统变更号数据库中递增的时间标识用于恢复和同步ACID事务的四个基本特性——原子性Atomicity、一致性Consistency、隔离性Isolation、持久性DurabilityMVCCMulti-Version Concurrency Control多版本并发控制读不阻塞写写不阻塞读三权分立数据库安全管理机制SYSDBA、SYSSSO、SYSAUDITOR 三权相互制约SLAService Level Agreement服务等级协议定义可用性、RTO、RPO 等指标RTORecovery Time Objective恢复时间目标从故障到恢复的可接受时长RPORecovery Point Objective恢复点目标可接受的数据丢失时间窗口