控制文件
每个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 配置大小 ;




