教学文章
Technology Exchange
热门课程
400电话

免费咨询热线
400-090-9964

教学文章

达梦数据库DM8 DBA管理员手册:DM物理存储结构-数据文件

时间:2020-12-03 来源:

达梦数据库DM8 DBA管理员手册:DM物理存储结构-数据文件

同Oracle数据库一样,DM数据文件以 dbf为扩展名,它是数据库中最重要的文件类型,一个 DM数据文件对应磁盘上的一个物理文件,数据文件是真实数据存储的地方,每个数据库至少有一个与之相关的数据文件。在实际应用中,通常有多个数据文件。

当 DM的数据文件空间用完时,它可以自动扩展。可以在创建数据文件时通过 MAXSIZE参数限制其扩展量,当然,也可以不限制。但是,数据文件的大小最终会受物理磁盘大小的限制。在实际使用中,一般不建议使用单个巨大的数据文件,为一个表空间创建多个较小的数据文件是更好的选择。

数据文件在物理上按照页、簇和段的方式进行管理,详细结构请参考第一章的内容。

数据文件按数据组织形式,可以分为如下几种:

1. B 树数据

行存储数据,也是应用最广泛的存储形式,其数据是按 B树索引组织的。普通表、分区表、B树索引的物理存储格式都是 B树。

一个 B树包含两个段,一个内节点段,存放内节点数据;一个叶子段,存放叶子节点数据。其 B树的逻辑关系由段内页面上的记录,通过文件指针来完成。

当表上没有指定聚簇索引时,系统会自动产生一个唯一标识 rowid 作为 B 树的 key 来唯一标识一行。

2. 堆表 数据

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

3. 列存储数据

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

4. 位图索引

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

数据文件中还有两类特殊的数据文件:ROLL和 TEMP文件。

1). ROLL 文件

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

2). TEMP 文件

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

当数据库查询的临时结果集过大,缓存已经不够用时,临时结果集就可以保存在TEMP.DBF文件中,供后续运算使用。系统中用户创建的临时表也存储在临时文件中。

版权所有@北京神脑资讯技术有限公司(CUUG,中国UNIX用户协会) Copyright ALL Rights Reserved 京ICP备11008061号-1

CUUG旗下网站:www.cuug.com.cn www.cuug.com oracle.cuug.com bbs.cuug.com www.cuug.net

电话:010-59426307 010-59426319 邮政编码:100089

地址:北京市海淀区北清路164号28-38号院