DM数据库体系结构

在这里插入图片描述
DM逻辑结构概述
数据库和实例
在 DM7 之前版本的 DM 数据库中, “数据库”和“实例”这两个术语经常可以互相替换,意义也很相近。在 DM7 以及之后版本的数据库中, “数据库”和“实例”这两个概念之间有着很大的差别,甚至可以说它们是两个完全不同的实体。
数据库
在有些情况下,数据库的概念包含的内容会很广泛。如在单独提到 DM 数据库时,可能指的是 DM 数据库产品,也有可能是正在运行的 DM 数据库实例,还可能是 DM 数据库运行中所需的一系列物理文件的集合等。但是,当同时出现 DM 数据库和实例时,DM 数据库指的是磁盘上存放在 DM 数据库中的数据的集合,一般包括:数据文件、日志文件、控制文件以及临时数据文件等。
实例
实例一般是由一组正在运行的 DM 后台进程/线程以及一个大型的共享内存组成。简单来说,实例就是操作 DM 数据库的一种手段,是用来访问数据库的内存结构以及后台进程的集合。
DM 数据库存储在服务器的磁盘上,而 DM 实例则存储于服务器的内存中。通过运行 DM实例,可以操作 DM 数据库中的内容。在任何时候,一个实例只能与一个数据库进行关联(装载、打开或者挂起数据库)。在大多数情况下,一个数据库也只有一个实例对其进行操作。但是在 DM 共享存储(DMDSC)中,多个实例可以同时装载并打开一个数据库(位于一组由多台服务器共享的物理磁盘上)。此时, 我们可以同时从多台不同的计算机访问这个数据库。
DM 逻辑存储结构
DM 数据库为数据库中的所有对象分配逻辑空间,并存放在数据文件中。在 DM 数据库内部,所有的数据文件组合在一起被划分到一个或者多个表空间中,所有的数据库内部对象都存放在这些表空间中。同时,表空间被进一步划分为段、簇和页(也称块) 。通过这种细分,可以使得 DM 数据库能够更加高效地控制磁盘空间的利用率。图 1.1 显示了这些数据结构之间的关
系。
在这里插入图片描述

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

  1. SYSTEM 表空间存放了有关 DM 数据库的字典信息,用户不能在 SYSTEM 表空间创建表和索引。
  2. ROLL 表空间完全由 DM 数据库自动维护, 用户无需干预。 该表空间用来存放事务运行过程中执行 DML 操作之前的值, 从而为访问该表的其他用户提供表数据的读一致性视图。
  3. MAIN 表空间在初始化库的时候,就会自动创建一个大小为 128M 的数据文件MAIN.DBF。在创建用户时,如果没有指定默认表空间,则系统自动指定 MAIN 表空间为用户默认的表空间。
  4. TEMP 表空间完全由 DM 数据库自动维护。当用户的 SQL 语句需要磁盘空间来完成某个操作时,DM 数据库会从 TEMP 表空间分配临时段。如创建索引、无法在内存中完成的排序操作、SQL 语句中间结果集以及用户创建的临时表等都会使用到 TEM
  5. HMAIN 表空间属于 HTS 表空间,完全由 DM 数据库自动维护,用户无需干涉。当用户在创建 HUGE 表时,未指定 HTS 表空间的情况下,充当默认 HTS 表空间。每一个用户都有一个默认的表空间。对于 SYS、SYSSSO、SYSAUDITOR 系统用户,默认的用户表空间是 SYSTEM,SYSDBA 的默认表空间为 MAIN,新创建的用户如果没有指定默认表空间,则系统自动指定 MAIN 表空间为用户默认的表空间。如果用户在创建表的时候,指定了存储表空间 A,并且和当前用户的默认表空间 B 不一致时,表存储在用户指定的表空间 A 中,并且默认情况下,在这张表上面建立的索引也将存储在 A 中,但是用户的默认表空间是不变的,仍为 B。一般情况下,建议用户自己创建一个表空间来存放业务数据,或者将数据存放在默认的用户表空间 MAIN 中。
    记录
    数据库表中的每一行是一条记录。在 DM 中,除了 Huge 表,其他的表都是在数据页中按记录存储数据的。也就是说,记录是存储在数据页中的,记录并不是 DM 数据库的存储单位,页才是。由于记录不能跨页存储,这样记录的长度就受到数据页大小的限制。数据页中还包含了页头控制信息等空间,因此 DM 规定每条记录的总长度不能超过页面大小的一半。

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

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

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

    DM物理存储结构
    DM 数据库使用了磁盘上大量的物理存储结构来保存和管理用户数据。 典型的物理存储结构包括:用于进行功能设置的配置文件;用于记录文件分布的控制文件;用于保存用户实际数据的数据文件、重做日志文件、归档日志文件、备份文件;用来进行问题跟踪的跟踪日志文件等,如图所示。
    在这里插入图片描述

DM 数据库服务配置
1、配置文件:每创建一个 DM 数据库, 就会自动生成 dm.ini 文件,dm.ini 是 DM 数据库启动所必须的配置文件,类似于Oracle的spifile文件;
2、控制文件:每个 DM 数据库都有一个名为 dm.ctl 的控制文件,类似于Oracle的控制文件;
3、数据文件:数据文件以 dbf 为扩展名,它是数据库中最重要的文件类型,一个 DM 数据文件对应磁盘上的一个物理文件;
4、重做日志文件:重做日志(即 REDO 日志)指在 DM 数据库中添加、删除、修改对象,或者改变数据,DM 都会按照特定的格式, 将这些操作执行的结果写入到当前的重做日志文件中,以 log 为扩展名;
5、归档日志文件:日志文件分为联机日志文件和归档日志文件。 DM 数据库可以在归档模式和非归档模式下运行。非归档模式下,数据库会只将重做日志写入联机日志文件中进行存储;归档模式下,数据库会同时将重做日志写入联机日志文件和归档日志文件中分别进行存储;
6、跟踪日志文件:用户在dm.ini中配置SVR_LOG和SVR_LOG_SWITCH_COUNT参数后就会打开跟踪日志,跟踪日志文件是一个纯文本文件,以“dm_commit_日期_时间”命名,默认生成在 DM
安装目录的 log 子目录下面, 管理员可通过 ini 参数 SVR_LOG_FILE_PATH 设置其生成路径;
7、事件日志文件:DM 数据库系统在运行过程中,会在 log 子目录下产生一个“dm_实例名_日期”命名的事件日志文件;
8、数据重演文件:调用系统存储过程 SP_START_CAPTURE 和 SP_STOP_CAPTURE, 可以获得数据重演文件。重演文件用于数据重演,存储了从抓取开始到抓取结束时,DM 数据库与客户端的通信消息。使用数据重演文件,可以多次重复抓取这段时间内的数据库操作,为系统调试和性能调优提供了另一种分析手段。
https://eco.dameng.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

不能自已2024

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

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

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

打赏作者

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

抵扣说明:

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

余额充值