数据库管理系统的基本组成

大家想必对数据库管理系统并不陌生了,那么,数据库管理系统的基本组成部分都分为哪些呢?

数据库管理系统的用户整体上可以分为两大类:一类是数据库系统的管理人员和运维人员,这类用户偏重于数据库管理,可以称为服务端用户;另一类是偏使用侧的DBA和最终用户(这里的最终用户在含义上包含客户的应用服务器和业务系统),这类用户偏重于数据库使用,可以称为客户端用户。

下图展示了数据库管理系统的基本组成结构,从图中可以看到,在组成上,可以把数据库管理系统分为基础服务组件、数据库实例、服务端工具、应用开发接口和客户端工具等部分。
数据库管理系统的基本组成

一、基础服务组件

基础服务组件是一组用于创建数据库实例和支撑数据库实例正常运行并对外提供服务的组件,表现上是一组支撑库(.o/.so/.dll文件)和工具。

在我们日常所使用的数据库中,有很多都是部署时只安装一些基础软件和工具,安装过程结束时,并没有真正可以为用户提供数据存储和管理服务的数据库。在安装过程结束后,通常需要基于安装的这些基础软件通过相应的工具或命令来创建数据库实例,由实例提供数据存储和管理服务。在创建实例之前安装的这些基础软件和工具,就是数据库的基础服务组件。

大家想必对 Oracle 的安装过程并不陌生,在安装 Oracle 时,安装向导中有个安装模式的选项就允许用户“仅安装软件”,这里的软件就是基础服务组件,安装完成后,可以在服务端通过 dbca 工具来创建 Oracle 实例。PostgreSQL在安装时也是仅安装基础服务组件,安装完成之后通过 initdb 命令来创建数据库实例。

二、数据库实例

关于数据库实例(Instance)的定义,有不止一种说法,我倾向的定义是:数据库实例是一组互相关联的进程和数据文件的集合,是数据库对外功能的表现者,这个进程和文件的集合以整体的形式对外提供数据存储和管理服务。还有一种被一定数量的人群所认可的说法是数据库实例是一组进程和内存的集合,而数据文件则被称为数据库。

从上面的定义中可以看出,数据库实例包含两部分内容:

  1. 进程:可以是一个或一组进程,不同的数据库管理系统有不同的实现。对于多进程数据库管理系统,在数据库实例启动时,会先启动主进程,之后由主进程派生出一系列相互关联的其它进程,比如负责运算的进程、负责数据落地的进程、负责日志管理的进程、负责共享内存分配与管理的进程、负责网络通信的进程等。这些进程独立担负一块具体的职责同时又互相关联,以整体形式对外提供数据服务。
  2. 数据文件:这是数据库实例存储自身配置数据和用户业务数据的地方。数据文件具体可以细分为配置文件或控制文件、日志文件(主要指的是Redo/Undo Log文件)和各类数据文件(比如表数据文件、索引数据文件等)。

数据库实例是基于数据库的基础服务组件而存在的,部署在同一硬件设备上的同一套数据库基础服务组件可以同时支撑多个数据库实例,这种情况就是我们常说的 “单机多实例” 。

三、服务端工具

服务端工具是一组只能运行于数据库服务本地的数据库工具,主要用于对数据库实例进行维护和对数据库自身进行管理。

常用的服务端工具通常包括实例配置工具、服务管理工具、备份与恢复工具、实例运行状态查看与更改的工具、数据库日志的管理工具、数据文件管理工具、数据库高可用集群的创建与管理工具等。

四、应用开发接口(APIs)

这块内容大家应该比较熟悉了,因此不做过多介绍。

比较常用的应用开发接口主要是 JDBC 和 ODBC,Oracle 的 OCI 和 微软的 ADO.NET 接口也有比较广泛的应用,当然还有一些 DAO、RDO、OLE DB 等接口,只是这些接口都没落了。近些年来,随着新型应用开发语言在不同行业中被广泛应用,也出现了针对 Python、Go 等开发语言的专用接口。

应用开发接口可以被最终用户直接调用,也为数据库管理系统客户端工具提供接口调用支撑。

五、客户端工具

客户端工具是一组运行于客户端的应用程序,主要用于数据访问和数据管理,也可以对数据库实例进行一定的管理和维护操作。

最常见的客户端工具就是SQL客户端,比如Oracle的 sqlplus、MySQL 的 mysql 等,此外数据导入工具、数据导出工具、实例连接向导等也都是客户端工具。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

五藏

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

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

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

打赏作者

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

抵扣说明:

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

余额充值