暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

DM控制文件和数据文件学习

原创 Shyai 2022-10-21
1267

控制文件

每个DM数据库都有一个名为dm.ctl的控制文件;控制文件是一个二进制文件,记录数据库必要的初始信息:

1、数据库名称

2、数据库服务器模式

3、OGUID唯一标识

4、数据库服务器版本

5、数据文件版本

6、数据库的启动次数

7、数据库最近一次启动时间

8、表空间信息,包括表空间名,表空间物理文件路径等,记录了所有数据库中使用的表空间,数组的方式保存起来;

9、控制文件校验码,校验码由数据库服务器在每次修改控制文件后计算生成,保证控制文件合法性,防止文件损坏及手工修改 ;

数据文件

数据文件以 dbf 为扩展名,它是数据库中最重要的文件类型,一个 DM 数据文件对应磁盘上的一个物理文件或者达梦分布式数据库中的一个逻辑文件,数据文件是真实数据存储的地方,每个数据库至少有一个与之相关的数据文件;在实际应用中,通常有多个数据文件;

1、B树数据

行存储数据,也是引用最广泛的存储形式,其数据是按B树索引组织的;

2、堆表数据

堆表的数据是以挂链形式存储的,一般情况下,支持最多 128 个链表,一个链表在物理上就是一个段, 堆表采用的是物理 rowid,在插入过程中, rowid 在事先已确定,并保证其唯一性,所以可以并发插入,插入效率很高,且由于 rowid 是即时生成,无需保存在物理磁盘上,也节省了空间 ;

3、列存储数据

数据按列方式组织存储,每个列包含 2 个段,一个段存放列数据,一个段存放列的控制信息,读取列数据时,只需要顺序扫描这两个段;在某些特殊应用场景下,其效率要远远高于行存储 ;

4、位图索引

位图索引与 B 树索引不同,每个索引条目不是指向一行数据, 而是指向多行数据;每个索引项保存的是一定范围内所有行与当前索引键值映射关系的位图 ;

5、ROLL文件

ROLL 表空间的 dbf 文件,称为 ROLL 文件; ROLL 文件用于保存系统的回滚记录,提供事务回滚时的信息;回滚文件整个是一个段;每个事务的回滚页在回滚段中各自挂链,页内则顺序存放回滚记录 ;

6、TEMP文件

TEMP.DBF 临时数据文件,临时文件可以在 dm.ini 中通过 TEMP_SIZE 配置大小 ;

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论