【达梦数据库学习】数据库体系架构-逻辑结构理解

1.1 数据库和实例

在有些情况下,数据库的概念包含的内容会很广泛。如在单独提到 DM 数据库时,可能指的是 DM 数据库产品,也有可能是正在运行的 DM 数据库实例,还可能是 DM 数据库运行中所需的一系列物理文件的集合等。但是,当同时出现 DM 数据库和实例时,DM 数据库指的是磁盘上存放在 DM 数据库中的数据的集合,一般包括:数据文件、日志文件、控制文件以及临时数据文件等。

实例一般是由一组正在运行的 DM 后台进程/线程以及一个大型的共享内存组成。简单来说,实例就是操作 DM 数据库的一种手段,是用来访问数据库的内存结构以及后台进程的集合。DM 数据库存储在服务器的磁盘上,而 DM 实例则存储于服务器的内存中。通过运行 DM实例,可以操作 DM 数据库中的内容。在任何时候,一个实例只能与一个数据库进行关联(装载、打开或者挂起数据库)。在大多数情况下,一个数据库也只有一个实例对其进行操作。但是在 DM 共享存储集群(DMDSC)中,多个实例可以同时装载并打开一个数据库(位于一组由多台服务器共享的物理磁盘上)。此时,我们可以同时从多台不同的计算机访问这个数据库。

1.2 逻辑存储结构

【达梦数据库学习】数据库体系架构-逻辑结构理解_第1张图片

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

上图显示了这些数据结构之间的关系:数据库由一个或多个表空间组成;每个表空间由一个或多个数据文件组成;每个数据文件由一个或多个簇组成; 段是簇的上级逻辑单元,一个段可以跨多个数据文件;簇由磁盘上连续的页组成,一个簇总是在一个数据文件中;页是数据库中最小的分配单元,也是数据库中使用的最小的 IO 单元。

:典型格式从上到下为:页头控制信息-数据-空闲空间-行偏移数组。大小可以为4kb、8kb、16kb或32kb。可以指定,默认为8kb。创建好数据库后,整个库的生命周期内,页大小不能变。

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

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

表空间:表空间由一个或者多个数据文件组成。DM 数据库中的所有对象在逻辑上都存放在表空间中,而物理上都存储在所属表空间的数据文件中。表空间分为普通表空间/混合表空间,普通表空间只能存储普通表(非HUGE表),混合表空间两种表 都可以。

在创建DM数据库时,初始化实例默认创建 以下5 个表空间:

SYSTEM表空间:系统表空间,存放了有关DM 数据库的字典信息。

ROLL表空间:完全由DM数据库自动维护、存放事务运行过程中执行DML数据操纵语句之前的值,为访问该表的其他用户提供表的读一致性视图。

MAIN表空间:默认表空间,是混合表空间,存放业务数据。

TEMP表空间:完全由DM数据库自动维护。当用户的 SQL 语句需要磁盘空间来完成某个操作时,DM 数据库会从 TEMP 表空间分配临时段。如创建索引、无法在内存中完成的排序操作、SQL语句中间结果集以及用户创建的临时表等都会使用到TEMP表空间。

HMAIN表空间:用来存放HUGE表数据。

1.3 特点与优势

1. 内存管理

特点:

  • 高效缓存:达梦数据库采用高效的缓存机制,包括数据缓冲区、共享池和其他内存结构,以提高数据访问速度。

  • 自适应内存管理:根据系统负载动态调整内存分配,确保在不同负载下都能保持良好的性能。

优势:

  • 提高性能:高效的缓存机制可以显著提高数据访问速度,减少磁盘 I/O 操作。

  • 灵活性:自适应内存管理使得系统能够更好地应对变化的工作负载。

2. 数据存储

特点:

  • 多类型数据文件:支持多种类型的数据文件,如普通数据文件、分区数据文件、索引组织表(IOT)、列存储数据文件等。

  • 灵活的数据组织:支持 B 树、堆表、列存储等多种数据组织形式,满足不同场景的需求。

优势:

  • 多样化存储选项:多种数据文件类型可以满足不同的存储需求,提高存储效率。

  • 优化查询性能:灵活的数据组织形式可以根据查询需求优化数据存储,提高查询性能。

3. 表空间与段管理

特点:

  • 表空间管理:支持多个表空间,每个表空间可以包含多个数据文件,便于管理和扩展。

  • 段管理:支持段管理,每个表、索引等对象在表空间中占用一个或多个段。

优势:

  • 易管理性:通过表空间和段管理,可以方便地管理和扩展数据库。

  • 灵活性:段管理可以更好地利用存储空间,提高存储效率。

4. 事务与日志管理

特点:

  • 事务处理:支持完整的事务处理机制,确保数据的一致性和完整性。

  • 重做日志与归档日志:支持重做日志和归档日志,用于事务的持久化和恢复。

优势:

  • 高可靠性:事务处理机制确保数据的一致性和完整性,提高系统的可靠性。

  • 数据恢复:通过重做日志和归档日志,可以实现数据的恢复,提高系统的可用性。

5. 查询优化

特点:

  • 查询优化器:采用先进的查询优化技术,根据查询条件生成最优的执行计划。

  • 索引支持:支持多种索引类型,如 B 树索引、位图索引等,以提高查询性能。

优势:

  • 高性能查询:查询优化器可以生成最优的执行计划,提高查询性能。

  • 灵活的索引支持:多种索引类型可以更好地支持不同的查询需求,提高查询效率。

6. 安全性

特点:

  • 用户管理:支持用户和角色管理,提供细粒度的权限控制。

  • 加密支持:支持数据加密,确保数据的安全性。

优势:

  • 细粒度权限控制:用户和角色管理可以实现细粒度的权限控制,提高系统的安全性。

  • 数据加密:数据加密技术可以确保敏感数据的安全性。

7. 多语言支持

特点:

  • SQL支持:支持标准SQL,兼容性强。

  • 存储过程支持:支持存储过程,提高数据处理效率。

  • 多语言编程:支持多种编程语言,如Java、Python等,便于开发和集成。

优势:

  • 兼容性强:支持标准SQL,易于与其他系统集成。

  • 开发便利:支持多种编程语言,方便开发人员进行开发和集成。

8. 高可用性与容灾

特点:

  • 主备复制:支持主备复制机制,提高系统的可用性。

  • 多活架构:支持多活架构,实现数据的实时同步和高可用性。

  • 故障恢复:支持故障自动恢复机制,确保系统的连续运行。

优势:

  • 高可用性:主备复制机制和多活架构可以提高系统的可用性,减少停机时间。

  • 容灾能力:通过故障自动恢复机制,可以提高系统的容灾能力,确保数据的安全性。

 达梦社区地址:达梦数据库 - 新一代大型通用关系型数据库 | 达梦在线服务平台

你可能感兴趣的:(数据库,数据库架构,学习)