达梦数据库体系结构

发布时间:2026/9/12 17:49:06

达梦数据库体系结构 达梦数据库的单节点单机架构是最基础的部署形态即一个数据库实例对应一个数据库。 为了应对高并发、高可用等复杂场景达梦也提供了如达梦数据共享集群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/9/9 1:47:50

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/9/12 2:06:52

魔兽争霸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/9/12 17:45:56

C++ 右值引用、移动语义与完美转发:原理剖析

一、先理解左值和右值在深入右值引用之前,必须先理解左值(lvalue)和右值(rvalue)的基本概念。看一个简单例子:int a 10;这里:a 是左值。因为它有名字、有稳定地址,可以反复使用。10…

2026/9/12 17:45:56

C++ 四种显式类型转换深度解析:从 static_cast 到 dynamic_cast 与 RTTI

一、为什么 C 要设计四种显式类型转换?C 语言使用万能括号强制转换 (type)expression,虽然灵活但意图模糊。例如看到 (A*)p,很难判断程序员是想进行数值转换、去掉 const、父类转子类,还是暴力重新解释内存。这降低了代码的可读性…

2026/9/12 17:45:56

WMSST与MCNN-BiGRU融合的工业设备智能故障诊断方案

1. 项目概述在工业设备运维领域,故障诊断技术正经历着从传统方法向智能算法的重要转型。这项研究提出了一种融合WMSST时频分析技术与MCNN-BiGRU深度学习架构的创新诊断方案,通过Matlab平台实现了端到端的故障识别系统。我在实际工业数据集测试中发现&…

2026/9/12 17:45:56

Chrome浏览器整合Gemini 3.1:AI如何重构浏览体验

1. Chrome浏览器迎来AI革命:Gemini 3深度整合解析当我在Chrome地址栏输入chrome://flags准备调试某个网页时,突然发现设置页面多出了"Enable Gemini features"的实验性选项。这个细节揭示了一个重要事实:我们熟悉的浏览器正在经历自…

2026/9/12 17:45:56

三步抓到第一包:用 ProxyPin 跑通跨平台网络调试

三步抓到第一包:用 ProxyPin 跑通跨平台网络调试 【免费下载链接】network_proxy_flutter Open source free capture HTTP(S) traffic software ProxyPin, supporting full platform systems 项目地址: https://gitcode.com/GitHub_Trending/ne/network_proxy_flu…

2026/9/12 2:05:33

超人会飞不算本事:系统稳定依赖清晰规则与边界设计

开头先不绕弯子。“#斯坦李吐槽dc 所以超人是无缘无故会飞的嘛哈哈哈哈哈哈哈锤哥真是技术人才啊!#雷神 #复联”这类调侃式短标题,第一波冲击力在于它把两个宇宙的角色塞进同一个吐槽箱里,但细想一下就能发现,它真正碰到的根本不是…

2026/9/12 3:55:12

超人VS蜘蛛侠:拆解超级IP的影响力与传播方法论

把“蜘蛛侠 vs 超人”放在 CSDN 上聊,可能很多人第一反应是走错片场了。但如果把这两个角色看成“两个持续运营了 80 多年的文化产品”,你会发现,这场比较本质上是两个不同 IP 策略的长期结果对比:超人赢在定义了整个超级英雄题材…

2026/9/12 10:09:03

基于CNN的调制信号识别:MATLAB实现时频图分类实战

简介:本资源是一套面向通信工程与信号处理方向学习者、研究者的深度学习实践方案,聚焦调制信号自动检测与识别这一典型无线通信任务,解决传统方法依赖人工特征、低信噪比下性能下降等痛点。压缩包共12个文件(10.73MB)&…

2026/9/12 0:04:17

MATLAB仿生优化框架:长鼻浣熊算法多策略融合实现

简介:本资源是一份面向智能优化算法研究者与MATLAB初学者的仿生智能算法实践代码包,聚焦于长鼻浣熊优化算法(COA)的多策略改进与性能验证。针对传统COA易陷局部最优、收敛精度不足等问题,作者融合Circle映射初始化提升…

2026/9/12 0:04:17

【JAVA毕设源码分享】基于 JavaWeb 的校园一卡通管理系统的设计与实现 基于 JavaWeb 的校园卡业务管理系统(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/9/12 0:04:17

【JAVA毕设源码分享】基于 Java 的图书馆借阅管理平台的搭建与实现 基于 Java 的图书馆综合管理系统(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/9/12 6:29:36

USB Type-C PCB布局分区设计:电源、高速信号与PD协议全攻略

做硬件这行,Type-C接口算是典型的“看着简单,做起来全坑”的东西。光引脚就24个,高低速信号、电源、控制线全部塞在一个小小的连接器里,如果PCB布局不做规划,打样回来基本就是“插上没反应”、“高速掉线”、“静电一打…

2026/9/12 14:32:17

系统编程学习原型如何补齐稳定性边界

系统编程学习原型如何补齐稳定性边界预算有限时&#xff0c;我先优化明显多余的复制&#xff0c;而不是猜测性地换容器。用借用传递只读数据通常就能减少分配&#xff1a; fn parse(line: &str) -> Result<Item, Error> { /* ... */ }用基准确认热点确实在分配&am…

2026/9/12 6:37:43

雨花区哪家财务公司代理记账比较好?

在雨花区&#xff0c;企业处理财税事务常常面临诸多挑战&#xff0c;选择一家靠谱的财务公司至关重要。湖南巨勤财务管理咨询有限公司就是本地正规实体财税服务机构&#xff0c;深耕本地工商财税行业多年&#xff0c;熟悉当地工商局、税务局最新政策与申报流程。主营公司注册、…

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

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

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