当前位置: 首页 > news >正文

【赵渝强老师】达梦数据库的逻辑存储结构

1

​达梦数据库由硬盘上的文件组成,而要读写数据需要通过达梦实例来完成。那么,达梦数据库是如何存储数据的呢?要搞清楚这个问题,就需要理解什么是达梦数据库的存储结构。达梦数据库的存储结构是由逻辑存储结构和物理存储结构组成。一般来说数据库无论是关系型数据库,还是NoSQL数据库在存储结构上,都是通过逻辑存储结构来管理物理存储结构。

image.png
点击这里查看视频讲解:【赵渝强老师】达梦数据库的逻辑存储结构

在逻辑存储结构中,达梦数据库为数据库中的所有对象分配逻辑空间,并将数据存放在数据文件中。在达梦数据库内部,所有的数据文件组合在一起被划分到一个或者多个表空间中,所有的数据库内部对象都存放在这些表空间中。同时,表空间被进一步划分为段、簇和页(也称块)。通过这种细分,可以使得达梦数据库能够更加高效地控制磁盘空间的利用率。下图展示了这些数据结构之间的关系。

2

下面分别对这些逻辑单元进行介绍。

一、 Database(数据库)

Database是DM 8中最大的逻辑单元,它是按照数据结构来组织、存储和管理数据的仓库。所有的表、索引、存储过程、触发器等都被包含在了Database中。

二、 Tablespaces(表空间)

在DM数据库中,表空间由一个或者多个数据文件组成。DM数据库中的所有对象在逻辑上都存放在表空间中,而物理上都存储在所属表空间的数据文件中。在创建DM数据库时,会自动创建5个表空间:SYSTEM表空间、ROLL表空间、MAIN表空间、TEMP表空间和HMAIN表空间。

执行下面的语句将可以查看当前达梦数据库中的表空间的信息。

SQL> select id,name from v$tablespace;# 输出的信息如下:
行号     ID          NAME    
---------- ----------- --------
1          0           SYSTEM
2          1           ROLL
3          3           TEMP
4          4           MAIN
5          5           BOOKSHOP
6          6           DMHR6 rows got# 下面的语句将查看大表空间的信息。
SQL> SELECT * FROM V$HUGE_TABLESPACE;# 输出的信息如下:
行号 		ID   NAME 	PATHNAME                            
------ ---- ------ ------------------------------------ 
1      	4    MAIN 	/home/dmdba/dmdbms/data/DAMENG/HMAIN

下表列举了达梦数据库中的表空间信息以及它们各自在作用。

3

每一个用户都有一个默认的表空间。对于SYS、SYSSSO、SYSAUDITOR系统用户,默认的用户表空间是SYSTEM,SYSDBA的默认表空间为MAIN,新创建的用户如果没有指定默认表空间,则系统自动指定MAIN表空间为用户默认的表空间。如果用户在创建表的时候,指定了存储表空间,则该用户创建的表和索引也将存储在指定的表空间中。

一般情况下,建议用户自己创建一个表空间来存放业务数据,或者将数据存放在默认的用户表空间MAIN中。

三、 Segments(段)

段是簇的上级逻辑分区单元,它由一组簇组成。在同一个表空间中,段可以包含来自不同文件的簇,即一个段可以跨越不同的文件。而一个簇以及该簇所包含的数据页则只能来自一个文件,是连续的16或者32个数据页。由于簇的数量是按需分配的,数据段中的不同簇在磁盘上不一定连续。

段可以有数据段、临时段和回滚段,而最常用的段就是数据段。下面的语句将查询达梦数据库中段的信息。

SQL> select owner,segment_name,segment_type from dba_segments;# 输出的信息如下:
行号     OWNER SEGMENT_NAME         SEGMENT_TYPE
---------- ----- ------------------ ------------
......                              
44         SYS   INDEX33555441       INDEX
45         SYS   INDEX33555439       INDEX
46         DMHR  INDEX33555573       INDEX
47         DMHR  INDEX33555569       INDEX
48         DMHR  INDEX33555568       INDEX
49         DMHR  INDEX33555566       INDEX
50         DMHR  INDEX33555563       INDEX
51         DMHR  INDEX33555560       INDEX
52         DMHR  INDEX33555557       INDEX
53         DMHR  INDEX33555555       INDEX
54         OTHER COMPANYHOLIDAYS     TABLE
55         DMHR  REGION                TABLE
56         DMHR  CITY                  TABLE
57         DMHR  LOCATION             TABLE
58         DMHR  DEPARTMENT           TABLE
59         DMHR  JOB                   TABLE
60         DMHR  EMPLOYEE             TABLE
61         DMHR  JOB_HISTORY         TABLE
62         SYS   POLICY_GROUPS       TABLE
63         SYS   POLICIES              TABLE
64         SYS   POLICY_CONTEXTS     TABLE
......# 这里的TABLE段和INDEX段都是数据段的一种类型。

四、 Cluster(簇)

簇是数据页的上级逻辑单元,由同一个数据文件中16个或32个或64个连续的数据页组成。在DM数据库中,簇的大小由用户在创建数据库时指定,默认大小为16。假定某个数据文件大小为32MB,页大小为8KB,则共有32MB/8KB/16=256个簇,每个簇的大小为8K*16=128K。和数据页的大小一样,一旦创建好数据库,此后该数据库的簇的大小就不能够改变。

五、 Page(页)

数据页(也称数据块)是DM数据库中最小的数据存储单元。页的大小对应物理存储空间上特定数量的存储字节,在DM数据库中,页大小可以为4KB、8KB、16KB或者32KB,用户在创建数据库时可以指定,默认大小为8KB,一旦创建好了数据库,则在该库的整个生命周期内,页大小都不能够改变。

通过执行下面的语句可以查看当前数据库页的大小。

SQL> select page();# 输出的信息如下:
行号     PAGE()     
---------- -----------
1          8192已用时间: 0.937(毫秒). 执行号:2620.
http://www.zskr.cn/news/110720.html

相关文章:

  • 2025高空安装公司TOP5权威推荐:高空安装哪家技术好? - myqiye
  • 《12个月服务期!黑龙江炉渣外运处置项目公开招标》
  • 2025年南京地区适合婚礼宴会的餐厅推荐,浪漫婚礼餐厅解析 - mypinpai
  • synopsys axi vip疑问
  • 出境游旅行社哪家服务好?从服务体验看选择方向 - 品牌排行榜
  • 【赵渝强老师】在Docker中运行达梦数据库
  • Flux.1-dev高清修复ControlNets上线
  • 2025少儿编程机构实测:3家高口碑品牌+5个避坑技巧,家长直接抄作业 - 品牌测评鉴赏家
  • 2025年国产电脑操作系统推荐:银河麒麟为何成为党政机关首选?
  • AI证书口碑好排名
  • LobeChat支持拖拽上传文件吗?实测多种格式兼容性
  • LobeChat能否对接Google Calendar?日程安排智能同步
  • Flutter:在代码与像素之间,重建移动开发的诗意
  • 解决‘此扩展程序不再受支持,因此已停用’问题:PaddlePaddle浏览器插件适配建议
  • 2025年高性价比少儿编程机构推荐,这几家非知名品牌值得关注 - 品牌测评鉴赏家
  • Dify + WebSocket 实现实时AI对话交互的技术方案
  • Langflow自定义组件开发全指南
  • 唐诗容斥解CF2170E
  • 使用ContextMenuManager优化右键菜单,快速启动TensorFlow终端(Windows+清华源)
  • AutoGPT使用指南:从安装到自主代理实战
  • 2025纸杯成型机设备选型图谱:全自动纸杯机、纸碗机、纸盘机优质制造商实力推荐 - 品牌2026
  • vue基于Springboot框架的宠物养生馆看护咖啡馆平台的设计与实现
  • LobeChat能否集成区块链验证?可信计算场景应用探讨
  • vue基于Springboot框架“智慧云党建”主题学习网站设计与实现_a06a74kk
  • Langflow与DeepSeek融合:低代码构建智能AI工作流
  • 因为研究平台arm,RK3588交叉编译误把我笔记本X86平台的/x86_64-linux-gnu文件删除,导致联想拯救者笔记本中的ubuntu系统损坏
  • 小程序管理后台项目
  • 教育场景适用吗?LobeChat作为教学辅助工具的潜力
  • MiniCPM-V2.5微调中的CUDA依赖问题解决
  • Java集合操作(List、Set、Map)