达梦数据库体系结构

发布时间:2026/11/4 7:53:57

达梦数据库体系结构 达梦数据库的单节点单机架构是最基础的部署形态即一个数据库实例对应一个数据库。 为了应对高并发、高可用等复杂场景达梦也提供了如达梦数据共享集群DSC等高级架构。在 DSC 架构中多个数据库实例可以同时访问和管理同一个数据库即多对一。达梦数据库的体系结构可划分为四个紧密关联的层次逻辑存储结构数据的组织逻辑、物理存储结构数据的磁盘存在形式、内存结构数据的运行时载体与线程结构数据的操作执行者。四者协同工作构成完整的数据库管理系统。1.逻辑存储结构逻辑存储结构定义了数据在数据库内部的组织方式其层次关系为数据库→表空间→段→簇→页→记录行1.1 表空间表空间是数据库的逻辑划分是存储数据库对象表、索引等的逻辑容器。一个数据库由多个表空间组成。表空间类型用途说明特性SYSTEM存储数据字典信息系统必需TEMP存储临时表与临时数据用于排序、哈希等操作ROLL存储回滚段保证事务一致性MAIN默认用户表空间混合表空间可存普通表与HUGE表RLOG日志表空间存储重做日志文件用户自定义按业务需求创建支持数据隔离与性能优化普通表空间不能存储HUGE表。混合表空间可同时存储普通表和HUGE表通过为普通表空间增加HUGE数据文件路径进行升级。1.2 段段是表空间内为特定数据库对象分配的存储空间集合。段类型存储对象数据段表数据索引段索引数据回滚段事务回滚信息临时段临时工作区延迟段分配通过设置DEFERRED_SEGMENT_CREATION1开启。创建表/索引。时暂不分配空间直至首次插入数据时才申请。可有效减少空分区表占用的空间。1.3簇簇是数据页的上级逻辑单元由同一数据文件中连续的数据页组成。页大小每簇页数簇容量4KB16/32/64—8KB16页128KB16KB16页256KB32KB8页256KB簇的大小在数据库创建后不可更改。创建表/索引时至少分配1个簇空间用完后自动扩展。删除记录时释放空闲簇DROP对象时回收全部簇。1.4 页页是 DM 数据库中最小的数据存储单元同时也是磁盘 I/O 操作的最小单位。默认大小8KB可选4KB、8KB、16KB、32KB页类型数据页、索引页、回滚页、位图页等页的组成1.5 记录默认情况下建议单条记录长度不超过页大小的一半PAGE_SIZE/2否则可能触发行迁移或行链接影响性能。记录是表中的逻辑单元并非数据库的存储单位页才是真正的存储单位。2.物理存储结构物理存储结构描述了数据在磁盘上的具体文件组织形式。2.1 配置文件.ini配置文件是以.ini为扩展名的文本文件用于启用/禁用功能及调优性能。服务端配置文件文件名用途dm.ini主配置文件含内存、线程、缓冲区等核心参数参数属性手动/静态/动态dmarch.ini归档配置文件dmmal.iniMAL系统配置用于分布式/DSC环境sqllog.ini通过sqllog.ini进行更精细的过滤和格式配置dmthrd.ini线程与CPU核心绑定配置dmtimer.ini定时器配置用于异步备库或复制客户端配置文件文件名用途dm_svc.conf服务名解析配置文件2.2 控制文件.ctl控制文件为二进制文件记录数据库的物理结构与运行状态。控制文件记录内容dm.ctl数据库名称、服务器模式、OGUID、版本、表空间及数据文件路径、启动次数、校验码等dmtemp.ctl临时表空间名及物理文件路径备份策略为防止修改控制文件时系统故障导致损坏系统自动执行双策略备份。2.3 数据文件.dbf数据文件是存储实际数据的物理文件每个表空间对应一个或多个数据文件。组织方式特点B树数据行存储按B树索引组织包含内节点段和叶子段最广泛应用堆表数据堆表采用无索引组织方式数据按插入顺序存储适合批量插入、少更新、全表扫描的OLAP场景。列存储数据顺序扫描列数据文件和辅助表数据适合OLAP场景位图索引每个索引项保存范围内所有行与键值映射的位图特殊数据文件ROLL文件ROLL表空间的DBF文件保存回滚记录TEMP文件临时数据文件TEMP.DBF通过TEMP_SIZE配置大小2.4 重做日志文件.log记录数据库的所有修改操作是事务持久性与故障恢复的基石。每个实例至少2个日志文件默认DAMENG01.log、DAMENG02.log循环写入机制日志扩展名可在初始化时通过RLOG_POSTFIX_NAME指定2.5归档日志文件.arc归档日志是已满重做日志文件的历史副本用于时间点恢复PITR与数据库复制。2.6 物理逻辑日志文件按特定格式存储服务器的逻辑操作专门用于DBMS_LOGMNR包挖掘历史执行语句。2.7备份文件.bak数据库备份文件包括全量备份、增量备份、差异备份非联机必需文件。2.8 SQL日志文件纯文本文件记录各会话执行的SQL语句、参数及错误信息用于性能分析与故障排查。2.9 事件日志文件达梦数据库在运行过程中会生成运行日志dm_实例名_YYYYMMDD.log它主要用于记录数据库启动、关闭、检查点、备份、恢复、错误、警告等关键操作和异常事件。当数据库发生严重错误或性能问题时管理员可以通过分析事件日志文件来快速定位问题根源。事件日志文件会随着数据库服务的运行持续生成和更新是数据库运维和故障排查的重要依据。通常建议定期归档和清理旧的事件日志文件以避免占用过多磁盘空间。3.内存结构3.1 内存池内存池类型说明共享内存池DM Server启动时从OS申请的大片内存供各组件共享使用运行时内存池各功能模块独立申请的内存池如会话内存池、虚拟机内存池内存功能区分内存区用途排序区处理ORDER BY、GROUP BY等排序操作哈希区处理哈希连接Hash Join操作会话堆栈存储会话变量、游标状态等私有信息大对象缓存缓存CLOB/BLOB大字段数据3.2 缓冲区缓冲区功能关键参数数据缓冲区缓存数据文件中的数据页通过自由链、LRU链、脏链三条链表管理BUFFER日志缓冲区缓存重做日志记录批量写入磁盘RLOG_BUF_SIZE字典缓冲区缓存模式、表、列、触发器等信息DICT_BUF_SIZE默认5MBSQL缓冲区缓存SQL执行计划CACHE_POOL_SIZE数据缓冲区类型NORMAL、KEEP、FAST、RECYCLE3.3 排序区排序区是 DM 数据库为排序操作如 ORDER BY、GROUP BY、DISTINCT 等专门分配的内存区域。当 SQL 查询需要进行排序时数据库会优先使用排序区来存储排序过程中的中间数据从而避免频繁的磁盘 I/O 操作显著提升排序性能。排序区的大小可以通过参数 SORT_BUF_SIZE 进行配置如果排序数据量超过排序区容量系统会自动使用临时表空间进行磁盘排序但这会带来性能下降。合理配置排序区大小对于优化包含大量排序操作的查询至关重要。3.4 哈希区为哈希连接操作提供专用内存空间。4.线程结构DM服务器采用单进程、多线程的“对称服务器架构”。线程名称核心职责监听线程监听客户端连接请求通常只有一个工作线程处理各类任务及实际数据操作含任务/会话工作线程采用线程池管理I/O线程负责数据文件、日志文件、归档日志的读写最耗时线程调度线程接管所有需要定时调度的任务每秒轮询一次日志FLUSH线程在事务提交或检查点时将REDO日志从缓冲区刷入磁盘必须早于数据页刷盘日志归档线程管理归档日志文件的写入日志APPLY线程应用于重做日志恢复定时器线程管理定时任务MAL系统线程基于TCP/IP实现DM内部高速通信达梦社区地址https://eco.dameng.com
延伸阅读

更多相关文章

2026/11/4 7:52:38

Mac Mouse Fix:重新定义macOS鼠标工作流的技术解决方案

Mac Mouse Fix:重新定义macOS鼠标工作流的技术解决方案 【免费下载链接】mac-mouse-fix Mac Mouse Fix - Make Your $10 Mouse Better Than an Apple Trackpad! 项目地址: https://gitcode.com/GitHub_Trending/ma/mac-mouse-fix Mac Mouse Fix是一款开源的m…

2026/10/25 10:34:12

魔兽争霸3优化插件WarcraftHelper:让你的经典游戏焕发新生

魔兽争霸3优化插件WarcraftHelper:让你的经典游戏焕发新生 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 魔兽争霸3作为一代经典RTS游戏&…

2026/11/4 7:49:00

烟气废气管道工程:从工况参数到施工调试与故障排查

1. 烟气废气管道工程的第一步不是画图,是把工况参数问到底干这行久了,最怕听到一句话:图纸上就这么画的。烟气废气管道工程看着只是把一根管子从车间接到排气筒,实际上从管径、材质、壁厚、坡度、支架间距到补偿方式,每…

2026/11/4 7:49:00

推荐系统召回阶段损失函数优化实践

1. 召回系统中的损失函数本质 在推荐系统的召回阶段,损失函数就像一位严格的教练,不断调整模型的"动作标准"。我们常见的pointwise、pairwise和listwise三种损失函数,本质上是在用不同维度教模型理解"好推荐"的定义。 最…

2026/11/4 7:49:00

深度学习数学入门:矩阵、概率与梯度如何驱动神经网络

简介:《Math for Deep Learning》2022 年版 PDF 是 Ronald T. Kneusel 面向深度学习实践者与自学读者编写的数学基础读物,着重梳理线性代数、概率统计、微积分和优化算法等知识在神经网络中的含义与用法,帮助读者从“会调包”走向“懂原理”。…

2026/11/4 7:49:00

海康VM试用版安装与功能测试全指南

1. 海康VM试用版概述 海康威视VM(Video Management)软件是一款专业的视频管理平台,主要用于监控视频的集中管理、智能分析和存储回放。试用版通常提供完整功能但限制使用时长(如30天),适合企业或个人在采购…

2026/11/4 7:49:00

智能工具如何提升学术与工程效率

1. 智能工具如何重塑学术与工程实践 去年帮学弟调试毕业设计代码时,发现他用了智能补全工具快速搭建神经网络框架。这让我意识到,当代学术工作者和工程师的作业方式正在经历范式转移——从传统的手工编码写作,转向人机协同的智能工作流。这种…

2026/11/4 7:44:00

软件工程实训项目调研方法论与实践指南

1. 项目背景与核心目标山东大学软件学院2026届项目实训是软件工程专业学生培养方案中的关键实践环节。作为开题前的调研阶段,这个环节将直接影响后续项目开发的质量和方向。根据我参与多届实训指导的经验,这个阶段往往被学生低估其重要性,但实…

2026/11/3 7:47:06

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/3 14:24:53

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/11/4 0:03:20

AI辅助技术栈评估:提升研发决策效率60%

1. 项目背景与核心价值技术决策一直是研发团队面临的重大挑战。随着技术生态的快速演进,技术栈的选择、维护和迭代变得愈发复杂。我们团队在过去两年里,先后经历了三次重大技术栈迁移,每次都需要投入大量人力进行技术评估和风险分析。直到去年…

2026/11/4 0:03:20

从生成Token到直接决策:Jev如何重塑AI Agent工程实践

1. 从"生成文字"到"拍板决策":Jev 到底在解决什么问题大多数人第一次接触大模型,脑子里建立的模型是"输入问题、输出文字"。你问它今天天气怎么样,它给你一段描述;你让它写个周报,它给你…

2026/11/4 0:03:20

32G统一内存跑大模型:内存账、TPS实测与端云分流

想在一台 32G 统一内存的小主机上把大模型跑成"日常可用",这件事我前后折腾了小半年。标题里说的这台 Mac mini M6,是我们这次讨论的目标平台,具体到手规格以实物为准;但下面这套推算方法和实测思路,对任何统…

2026/11/3 7:47:06

面向复杂光照与角度的宠物面部识别鲁棒性增强策略

在智慧养宠时代,基于视觉的宠物身份识别技术正逐步从实验室走向家庭应用。然而,与配合度高的人类不同,宠物是典型的“非合作生物识别对象”——它们不会主动配合摄像头调整姿态,更无法控制光照环境。实际应用中,我们常…

2026/11/3 14:24:53

SSM电子书店源码全解析:结构、原理、部署与排错实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑