达梦体系结构
Posted 莫得感情的肝帝
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了达梦体系结构相关的知识,希望对你有一定的参考价值。
体系结构.
数据库和实例
数据库:DM数据库指的是磁盘上存放在DM数据库中的数据的集合,一般包括:数据文件、日志文件、控制文件以及临时数据文件等。
实例:由一组正在运行的DM后台进程/线程以及一个大型的共享内存组成。简单来说,实例就是操作DM数据库的一种手段,是用来访问数据库的内存结构以及后台进程的集合。
DM逻辑存储结构
DM物理存储结构
dm.ctl: 它记录了数据库必要的初始信息,
数据文件:数据文件以dbf为扩展名,它是数据库中最重要的文件类型,一个DM数据文件对应磁盘上的一个物理文件,数据文件是真实数据存储的地方,每个数据库至少有一个与之相关的数据文件。
重做日志文件(REDO日志):在DM数据库中添加、删除、修改对象,或者改变数据,DM都会按照特定的格式,将这些操作执行的结果写入到当前的重做日志文件中。也成联机日志文件,主要用于数据库的备份与恢复。
归档日志文件:在归档模式下,重做日志被连续写入到归档日志后,所生成了归档日志文件。归档日志文件以归档时间命名,扩展名也是log。但只有在归档模式下运行时,DM数据库才会将重做日志写入到归档日志文件中。
内存结构
DM数据库管理系统的内存结构主要包括内存池、缓冲区、排序区、哈希区等。根据系统中子模块的不同功能,对内存进行了上述划分,并采用了不同的管理模式。
内存池
1)共享内存池:是DM Server在启动时从操作系统申请的一大片内存。默认大小是200M,可在dm.ini修改参数MEMORY_POOL调整大小,MEMORY_EXTENT_SIZE指定共享内存池每次扩展的大小,MEMORY_TARGET 指定共享内存池能扩展到的最大值。
2)运行时内存池:是从操作系统申请一片内存作为本功能模块的内存池来使用,如会话内存池、虚拟机内存池等。
缓冲区
1)数据缓冲区:DM Server在将数据页写入磁盘之前以及从磁盘上读取数据页之后,数据页所存储的地方。这是DM Server至关重要的内存区域之一,将其设定得太小,会导致缓冲页命中率低,磁盘IO频繁;将其设定得太大,又会导致操作系统内存本身不够用。
数据库判断用户可能需要读多个数据页时,可一次性读取多个数据页
2)日志缓冲区:日志缓冲区是用于存放重做日志的内存缓冲区。为了避免由于直接的磁盘IO而使系统性能受到影响,系统在运行过程中产生的日志并不会立即被写入磁盘,而是和数据页一样,先将其放置到日志缓冲区中。
3)字典缓冲区:主要存储一些数据字典信息,如模式信息、表信息、列信息、触发器信息等。
4)sql缓冲区:提供在执行SQL语句过程中所需要的内存,包括计划、SQL语句和结果集缓存。
排序区
排序缓冲区提供数据排序所需要的内存空间。当用户执行SQL语句时,常常需要进行排序,所使用的内存就是排序缓冲区提供的。
哈希区
DM8提供了为哈希连接而设定的缓冲区,不过该缓冲区是个虚拟缓冲区。之所以说是虚拟缓冲,是因为系统没有真正创建特定属于哈希缓冲区的内存,而是在进行哈希连接时,对排序的数据量进行了计算。
SSD缓冲区
固态硬盘采用闪存作为存储介质,因没有机械磁头的寻道时间,在读写效率上比机械磁盘具有优势。在内存、SSD磁盘、机械磁盘之间,符合存储分级的条件。为提高系统执行效率,DM Server将SSD文件作为内存缓存与普通磁盘之间的缓冲层,称为"SSD缓存"。
DM线程
达梦采用单进程,多线程。
服务器在运行时由各种内存数据结构和一系列的线程组成,线程分为多种类型,不同类型的线程完成不同的任务。线程通过一定的同步机制对数据结构进行并发访问和处理,以完成客户提交的各种任务。
可以通过以下动态性能视图查看线程的信息
名称 | 说明 |
V$LATCHES | 记录当前正在等待的线程信息 |
V$THREADS | 记录当前系统中活动线程的信息 |
V$WTHRD_HISTORY | 记录自系统启动以来,所有活动过线程的相关历史信息。 |
V$PROCESS | 记录服务器进程信息 |
重做日志文件的基本操作
添加
增加大小为80M的日志文件dameng_003.log
ALTER DATABASE ADD LOGFILE \'dameng_003.log\' size 80;
修改
将日志文件dameng_003.log大小更改为100M
ALTER DATABASE RESIZE LOGFILE \'dameng_003.log\' to 100;
重命名( mount模式下)
将日志文件dameng_003.log重命名为dameng_004.log
ALTER DATABASE RENAME LOGFILE \'dameng_003.log\' to \'dameng_004.log\';
以上是关于达梦体系结构的主要内容,如果未能解决你的问题,请参考以下文章