DM8体系结构

本文详细介绍了DM8数据库的逻辑结构,包括页、簇、段、表空间和内存池等,并讨论了数据缓冲区的不同类型及其参数设置。此外,还阐述了物理结构如配置文件、数据文件、控制文件、重做日志和归档日志文件的重要性和特点。最后,简要说明了数据库与实例的关系。
摘要由CSDN通过智能技术生成

DM8体系结构

1、逻辑结构
页:默认为 8k,支持 4k、8k、16k、32k,是数据库最小的分配单元。包含页头信息,数据, 空闲空间,行偏移数组。
簇:簇是一组连续的页组成,默认为 16 个页,支持 16、32 个页,一个簇总是在一个数据文 件中。 段:是簇的上级逻辑单元,段是可以跨多个数据文件的。段又分为数据段(表段、索引段), 临时段,回滚段。 Select * from dba_segments:
表空间:可以拥有一个或多个数据文件,一个数据文件只能属于一个表空间。
共享内存池:共享内存池是 dmserver 启动时从操作系统申请的一大片内存,减少系统调用,参数 memory_pool
运行时内存池:给某个模块单独使用,例如会话内存池和虚拟机内存池。
数据缓冲区:缓存的是数据页,使用缓冲区可以提高数据库的性能。数据库缓冲区设置的太小,会造成性 能的问题。用完不会向共享内存池申请内存。参数:buffer。查询如下:
SQL>select para_name,para_value,para_type from v$dm_ini where para_name=‘BUFFER’;
para_type对应参数解释:
Sys:系统级,影响全局
Session:会话级,针对当前会话有效
Infile:静态参数,实例重启才能生效
Read only:只读,只能手动编辑参数文件
1:等于 both,会同时改变内存中和参数中的值
2:等于 infile,只会改变参数文件中的值,重启才能生效
参考值:
oltp 物理内存的 40%-60%
olap 物理内存的 60%-80%
数据缓冲区有四种类型: Normal、keep:可以手动调整。默认为 normal,keep 缓存的是表空间。Oracle keep 的是表。 Fast、recycle:系统自动管理,recycle 缓存的是临时数据,fast 缓存的是数据页、回滚页。 读多页:全表扫描比较多,可以考虑调整该参数 Multi_page_get_num.
重做日志缓冲区: 存放的是重做日志信息,单位是页,避免直接对磁盘进行读写操作,提高了数据库的性能。
参数:rlog_buf_size
重做日志的刷盘机制:每三秒,事务提交,缓冲区满。这三种请况。
SQL 缓冲区:用来存放执行计划、sql 结果集、包、过程等。对于 sql 类别比较多,包、过程比较多,应该适当调整 sql 缓冲区。
参数:CACHE_POOL_SIZE
开启 SQL 重用计划,对性能提升有很大帮助
参数:USE_PLN_POOL
字典缓冲区:字典缓冲区主要存的是数据字典的信息,包含表、列的信息。当数据库中存在很多表,大量 分区表时应该适当调整字典缓冲区。
参数:DICT_BUF_SIZE
排序区:排序区就是 sql 排序需要的内存空间,在内存中无法完成排序操作将转移到磁盘上(临时表 空间)
参数:SORT_BUF_SIZE
HASH 区:是一个虚拟的缓冲区,表在做 hash join、hash group by 才会分配空间,一般是使用运行时内 存池。
参数:HJ_BUF_SIZE
2、物理结构
配置文件:以.ini 结尾的文件
其中:dm.ini类似于oracle中pfile+spfile文件
数据文件:以.DBF 结尾的文件
一个表空间可以对应多个数据文件
控制文件:以.ctl 结尾的文件
控制文件记录了数据库名,数据库模式,数据文件版本,数据库启动次数,上一次启动时间。
重做日志文件:重做日文件记录的是数据库发生变更的信息。达梦没有日志组,数据库至少需要两个日志文 件。重做日志文件的特点是循环写、可覆盖。重做日志文件频繁切换会对数据库性能阐释比 较大的影响,考虑 resize 重做日志文件,或者是增加重做日志文件。
注意:重做日志文件不能被删除,所有日志文件大小需要一致。
归档日志文件:重做日志文件的副本,用来做数据库恢复、数据守护集群或者读写分离集群的同步。
备份文件:以.bak 为扩展名的文件,备份文件就是数据库在某一个时间点的副本。可以做容灾备份以及备份还原。
3、数据库和实例
数据库:DM 数据库指的是磁盘上存放在 DM 数据库中的数据的集合,一般包括:数据文件、日志文件、控制文件以及临时数据文件等。
实例:实例一般是由一组正在运行的 DM 后台进程/线程以及一个大型的共享内存组成。简单来说,实例就是操作 DM 数据库的一种手段,是用来访问数据库的内存结构以及后台进程的集合。
DM 数据库存储在服务器的磁盘上,而 DM 实例则存储于服务器的内存中。通过运行 DM实例,可以操作 DM 数据库中的内容。在任何时候,一个实例只能与一个数据库进行关联(装载、打开或者挂起数据库)。在大多数情况下,一个数据库也只有一个实例对其进行操作。但是在 DM 共享存储集群(DMRAC)中,多个实例可以同时装载并打开一个数据库(位于一组由多台服务器共享的物理磁盘上)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值