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

达梦数据库逻辑结构

原创 阿力 2025-03-19
22


1. 数据库和实例
在 DM7 之前版本的 DM 数据库中,“数据库”和“实例”这两个术语经常可以互相替换, 意义也很相近。在 DM7 以及之后版本的数据库中,“数据库”和“实例”这两个概念之间有 着很大的差别,甚至可以说它们是两个完全不同的实体

  • 数据库
数据库是达梦系统中存储数据的逻辑容器,它由一个或多个表空间组成。数据库是用户管理和操作数据的顶层逻辑结构,所有的数据对象(如表、索引等)都存储在数据库中。

  • 实例
实例是达梦数据库的运行时环境,它由后台进程和内存结构组成。实例负责管理数据库的运行,包括数据的读写、事务的处理、资源的分配等。一个实例可以对应一个或多个数据库,通过实例,用户可以访问和操作数据库中的数据。


2. 逻辑存储结构
  • 表空间
表空间是数据库的逻辑划分,由一个或多个数据文件组成。
它是数据库中存储对象的逻辑容器,所有对象在逻辑上存放在表空间中,物理上存储在所属表空间的数据文件中。
达梦数据库在创建时会自动创建多个表空间,
SYSTEM表空间(存放数据库字典信息)、
ROLL表空间(存放事务运行过程中执行DML操作之前的值)、
MAIN表空间(存放用户业务数据)
TEMP表空间(用于存放临时数据)
HMAIN 表空间属于 HTS 表空间,完全由 DM 数据库自动维护,用户无需干涉。当用 户在创建 HUGE 表时,未指定 HTS 表空间的情况下,充当默认 HTS 表空间。

查看SYSTEM、ROLL、MAIN 和 TEMP 表空间语句
SELECT * FROM V$TABLESPACE;


HMAIN 表空间查看语句:
SELECT * FROM V$HUGE_TABLESPACE;

行号 ID NAME PATHNAME DIR_NUM COPY_NUM SIZE_MODE
---------- ----------- ---- --------------------- ----------- ----------- ---------
1 4 MAIN /dm/dmdata/dmdb/HMAIN 1 NULL NULL


  • 记录
记录是数据库表中的一行数据。
它是存储在数据页中的,记录不能跨页存储,因此记录的长度受到数据页大小的限制,每条记录的总长度不能超过页面大小的一半。

页是达梦数据库中最小的数据存储单元,也是最小的IO单元。
页的大小可以为4KB、8KB、16KB或32KB,用户在创建数据库时可以指定,默认大小为8KB,一旦创建好数据库,页大小就不能改变。


簇是数据页的上级逻辑单元,由同一个数据文件中16个、32个或64个连续的数据页组成。达梦数据库以簇为单位给每个数据段分配空间,簇的大小在创建数据库时指定,默认为16,且创建后不能修改。

例如:

如,数据文件大小为64MB,页大小为8KB,则共有64MB/8KB/16=512个簇,
每个簇的大小为8K*16=128K。

如,数据文件大小为64MB,页大小为16KB,则共有64MB/16KB/16=256个簇,
每个簇的大小为16K*16=256K。

如,数据文件大小为64MB,页大小为32KB,则共有64MB/32KB/16=128个簇,
每个簇的大小为32K*16=512K。


段是簇的上级逻辑分区单元,由一组簇组成。
段可以跨越不同的数据文件,而簇及簇所包含的数据页只能来自同一个文件。
段分为数据段(用于存储表或索引的数据)、
临时段(用于存储SQL语句的中间结果等,由系统自动分配和释放)和
回滚段(用于保存恢复数据库操作的信息)。


3.它们之间的关系
数据库由一个或多个表空间组成,表空间由一个或多个数据文件组成,数据文件由一个或多个簇组成,簇由磁盘上连续的页组成。
实例是运行中的数据库服务,管理多个表空间。
表空间是逻辑结构,包含多个数据文件,数据文件由页组成。
段属于表空间,是数据库对象的存储结构,由簇构成,簇又由多个连续的页组成。记录存储在页中,是数据的基本单元。
最后修改时间:2025-03-20 10:47:48
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论