赵渝强老师,崖山数据库体系架构是怎样的?

摘要:YashanDB数据库中有数据库和数据库实例这两个基本的概念,并且从体系架构的组成上看,YashanDB数据库又分为了存储结构、进程线程结构和内存结构。因此,要掌握YashanDB的体系架构就需要从数据库与数据库实例入手,并进一步深入到其内
YashanDB数据库中有数据库和数据库实例这两个基本的概念,并且从体系架构的组成上看,YashanDB数据库又分为了存储结构、进程线程结构和内存结构。因此,要掌握YashanDB的体系架构就需要从数据库与数据库实例入手,并进一步深入到其内部核心的结构中。视频讲解如下: 点击这里查看视频讲解:【赵渝强老师】崖山数据库的体系架构 一、 数据库与数据库实例 YashanDB数据库,英文名称叫做Yashan Database。这里所说的数据库是一个物理上的概念,即指物理操作系统的文件或者磁盘的集合。换句话来说,YashanDB数据库是由物理硬盘上许多的文件组成。这些文件包含了数据文件、控制文件、重做日志文件等等。数据库的配置信息、日志信息以及表中的数据最终都是存储在这些文件当中。 YashanDB数据库的实例,英文名称叫做Yashan Database Instance,它是一个逻辑上的概念,由操作系统的内存和操作系统中的进程组成。这些内存由同一个宿主机上运行的进程所共享。即使没有磁盘存储的数据库文件,数据库实例也能存在,但是这样的数据库实例没有实际的意义。对于一个正常运行的YashanDB数据库实例来讲,可以把它看成是YashanDB数据库文件在内存中的镜像。客户端需要通过操作系统中的进程来访问内存中的这些镜像,最终读写YashanDB数据库的数据。 在不考虑YashanDB数据库集群的情况下,一般情况下一个YashanDB数据库服务只包括一个YashanDB数据库和一个YashanDB数据库的实例。一个实例对应一个数据库。它们之间的对应关系如下图所示。 二、 存储结构 YashanDB数据库由硬盘上的文件组成,而要读写数据需要通过YashanDB实例来完成。那么,YashanDB数据库是如何存储数据的呢?要搞清楚这个问题,就需要理解什么是YashanDB数据库的存储结构。YashanDB数据库的存储结构是由逻辑存储结构和物理存储结构组成。一般来说数据库无论是关系型数据库,还是NoSQL数据库在存储结构上,都是通过逻辑存储结构来管理物理存储结构。下面分别介绍这两部分。 2.1 YashanDB的逻辑存储结构 从逻辑组成上来看,一个YashanDB数据库是由一个或者多个表空间等组成;一个表空间(tablespace)由一组段组成;一个段(segment)由一组区组成;一个区(extent)由一批数据库块组成;一个数据库块(block)对应一个或多个物理块。如下图所示。 下面分别对这些逻辑单元进行介绍。 2.1.1 Database(数据库) Database是YashanDB中最大的逻辑单元,它是按照数据结构来组织、存储和管理数据的仓库。所有的表、索引、存储过程、触发器等都被包含在了YashanDB的数据库中。 2.1.2 Tablespaces(表空间) 表空间(Tablespace)是数据库的逻辑划分,一个表空间只能属于一个数据库。表空间对应一个或多个数据文件,通常由相关的段组成。表空间的大小是它所对应的数据文件大小的总和,所有的数据库对象都存放在指定的表空间中。但主要存放的对象是表,所以称作表空间。执行下面的语句可以查看YashanDB中的表空间信息。 $ yasql / as sysdba SQL> select tablespace_name from dba_tablespaces; # 输出的信息如下: TABLESPACE_NAME ------------------ SYSTEM SYSAUX TEMP SWAP USERS UNDO 6 rows fetched. # 在YashanDB数据库中,有些表空间必须存在,而有些表空间可以没有。 下表列举了YashanDB数据库中的表空间信息以及它们各自在作用。 2.1.3 Segments(段) 一个段是分配空间时的一个逻辑结构,该逻辑结构可能是表、索引或其他对象存储的一个区域,它是数据库对象使用的空间集合。段可以有表段、索引段、回滚段、临时段和高速缓存段等,而最常用的段就是表段和索引段。下面的语句将查询YashanDB数据库中段的信息。
阅读全文