达梦数据库逻辑、物理存储结构

一、DM逻辑结构

1.1、数据库与实例

DM数据库指的是磁盘上存放在DM数据库中的数据的集合,一般包括:数据文件、日志文件、控制文件以及临时数据文件等。
实例一般是由一组正在运行的DM后台程序/线程以及一个大型的共享内存组成。简单来说,实例就是操作DM数据库的一种手段,是用来访问数据库的内存结构以及后台进程的集合。DMDSC,DM共享存储集群,多个实例可以同时装载并打开一个数据库(位于一组由多台服务器共享的物理磁盘上)

1.2、DM逻辑存储结构

DM数据库为数据库中所有对象分配逻辑空间,并存放在数据文件中。所有的数据文件组合在一起被划分到一个或者多个表空间中,所有数据库内部对象都存放在这些表空间中。同时,表空间被进一步划分为段、簇、页(块)。
在这里插入图片描述

DM8中存储层次结构:

  • 数据库由一个或者多个表空间组成;

  • 每个表空间由一个或者多个数据文件组成;

  • 每个数据文件由一个或多个簇组成;

  • 段是簇的上级逻辑单元,一个段可以跨越多个数据文件;

  • 簇是由磁盘上连续的页组成,一个簇总是在一个数据文件中;

  • 页是数据库中最小的分配单元,也是数据库中使用的最小IO单元。

1.3、表空间

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

  • SYSTEM:DM数据库的字典信息,用户不能在表空间创建表和索引。
  • ROLL:DM数据库自动维护,存放事务运行过程中执行DML操作之前的值。
    MAIN:默认创建128M数据文件MAIN.DBF。如果没有指定默认表空间,系统指定MAIN表空间为用户默认的表空间。
  • TEMP:由DM数据库自动维护。用户的SQL语句需要磁盘空间来完成某个操作时,DM数据库会从TEMP表空间分配临时段。如:创建索引、sql语句中间结果集、临时表等
  • HMAIN:完全由DM数据库自动维护。创建HUGE表时,充当默认HTS表空间。
    每一个用户都有一个默认表空间:
    SYS、SYSSSO、SYSAUDITOR,默认表空间是SYSTEM;
    SYSDBA默认表空间是MAIN。
    新创建的用户如果没有指定默认表空间,则系统自动指定MAIN表空间为用户默认表空间。
    查看表空间语句:
-- SYSTEM、ROLL、MAIN、TEMP表空间:
select * from v$tablespace;
-- HMAIN 表空间:
select * from v$huge_tablespace;

1.4、记录

数据库表中的每一行都是一条记录。记录是存储在数据页中,不能跨页存储,记录的长度受到数据页大小的限制。DM中规定:每条记录的总长度不能超过页面大小的一半。

1.5、页

页(块)是DM中最小数据存储单元。DM中,页的大小:4KB、8KB、16KB、32KB。创建数据库时可以指定,默认大小8KB。创建数据库后不可更改。
在这里插入图片描述

1.6、簇

簇是数据页的上级逻辑单元,由同一个数据文件中16个或32个或64个连续的数据页组成。DM数据库找那个,簇大小由用户在创建数据库时指定,默认大小为16。

假定某个数据文件大小为 32MB,页大小为 8KB,则共有 32MB/8KB/16=256 个簇,每个簇的大小为8K*16=128K。

1.7、段

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

二、DM物理存储结构

在这里插入图片描述

2.1、配置文件

配置文件以ini为扩展名,作用:
启用/禁用特定功能项;
针对当前系统运行环境设置更优的参数值以提升系统性能。

2.1.1、DM数据库服务配置

1、dm.ini
每创建一个DM数据库,就会自动生成dm.ini文件。
参数属性分为三种:静态、动态、手动。

  • 静态:可以被动态修改,修改后重启服务器才能生效。
  • 动态:可以被动态修改,修改后即时生效。分为会话级和系统级。
  • 手动:不能被动态修改,必须手动修改dm.ini参数文件,然后重启才能生效。
    2、dmmal.ini
    MAL系统的配置文件。
    3、dmarch.ini
    用于本地归档和远程归档。
    4、dm_svc.conf
    DM安装时生成一个配置文件,文件中包含DM各接口及客户端需要配置的一些参数。
    不同平台所在目录不同:
  • Win32:%SystemRoot%\system32
  • Win64:%SystemRoot%\system32
  • Linux: /etc
    如果对dm_svc.conf的配置项进行了修改,需要重启客户端程序,才能生效。
    5、sqllog.ini
    用于sql日志的配置。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

笑谈子云亭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值