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

数据库管理系统的用户整体上可以分为两大类:一类是数据库系统的管理人员和运维人员,这类用户偏重于数据库管理,可以称为服务端用户;另一类是偏使用侧的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 等,此外数据导入工具、数据导出工具、实例连接向导等也都是客户端工具。

数据库管理系统的基本组成相关推荐

  1. 数据齿轮(DataGear)数据库管理系统 v1.1.1 发布

    数据齿轮(DataGear)数据库管理系统v1.1.1版本发布,此版本是v1.1版本的紧急BUG修复版本,更新内容如下: 修复:修复集成软件包在JRE8及以上版本无法正常运行的BUG: 数据齿轮(Da ...

  2. 顶级数据库管理系统的性能比较研究(论文翻译)

    本文译自 <A Comparative Study on the Performance of the Top DBMS Systems >Youssef Bassil LACSC – L ...

  3. Mac MySQL 数据库配置(关系型数据库管理系统)

    本文已停止更新,点击此链接查看本文最新内容 !!! 前言 MySQL 关系型数据库管理系统. 1.配置准备工作 1)配置数据库准备工作 下载相关软件 mysql-5.7.21-1-macos10.13 ...

  4. mysql数据库管理系统的配置文件是_MySQL学习笔记_1_MySQL数据库管理系统概述

    1. MySQL架构 C/S: client / server架构 MySQL DBMS(Data Bank Management System): 数据库管理系统 客户端  服务器 --->  ...

  5. mysql 不同的文件系统_文件系统,数据库管理系统,操作系统之间有什么联系?...

    这仨名字里都有个"系统",但完全不是一个东西,也谈不到谁包含谁的问题. 简单的说他们之间的关系:文件系统和操作系统可以看作一种"合作"关系,而数据库管理系统则是 ...

  6. 【DBMS 数据库管理系统】数据仓库特征 ( 特征一 : 面向主题组织数据 | 特征二 : 数据集成 | 特征三 : 数据不可更新 | 特征四 : 随时间不断变化 )

    文章目录 一.特征一 : 面向主题 数据组织方式 二.特征二 : 数据集成 三.特征三 : 数据不可更新 四.特征四 : 数据仓库中的数据 随时间不断变化 一.特征一 : 面向主题 数据组织方式 主题 ...

  7. 分布式数据库管理系统

    分布式数据库管理系统的发展 单个数据库分割成多个,然后把这些分割存放到同一网络中的不同计算机中.多点数据库是分布式数据库系统的核心.业务分布在不同的国家和地区需要分布式数据库管理系统.分布式数据库系统 ...

  8. 数据库系统概论:第十二章 数据库管理系统

    12.1 数据库管理系统的基本功能 1. 数据库定义和创建 2. 数据组织.存储.管理 3. 数据存取 4. 数据库事务管理和运行管理 5. 数据库的建立和维护 6. 其他功能 12.2 数据库管理系 ...

  9. 数据库与数据库管理系统的基本概念

    文章目录 1 实体的概念与数据库 1.1 数据库的特点 1.2 实体存储的的基本单元 2 数据库管理系统 2.1 DBMS的概念 2.2 DBMS的功能 2.3 应用程序与DBMS 3 SQL与T-S ...

  10. 04--MySQL自学教程:数据库MySQL--【数据库DB】和【数据库管理系统DBMS】简介

    1.数据库DB 数据库:DB(DataBase) 按照一定规则存储在计算机的内部存储设备上被各种用户或者应用共享的数据集合 2.数据库管理系统DBMS 1)数据库管理系统DBMS:DBMS(DataB ...

最新文章

  1. 超详细中文预训练模型ERNIE使用指南-源码
  2. TCP/IP协议之ARP笔记
  3. 一句话懂什么是JS闭包
  4. ai算子是什么_肇观电子刷新端侧AI芯片性能记录并发布“5分钟部署”AI开发平台 - 企业资讯...
  5. 美国0封伊朗已经6天了,伊石油出口真归零了吗?
  6. timeval的时间转换成毫秒之后多大的数据类型可以装下
  7. 关于码云开源项目SpringBootAdmin多数据源配置
  8. P1110 [ZJOI2007]报表统计
  9. OpenCV-python学习笔记(一)——image basics输入输出,像素处理和绘制图形
  10. linux i386,i486,i586,i686和AMD_64,X86,x86_64后缀的区别
  11. iOS开发——AVPlayer自定义播放器(持续更新,学习中)
  12. 思科防火墙配置命令(详细命令总结归纳)
  13. MapGIS 的一些小总结
  14. PCIE知识点-010:PCIE 热插拔资料从哪获取
  15. 联想笔记本无法识别USB(通用串行总线(USB)的控制器问题)
  16. pcb板中字母P代表什么
  17. 护理和母乳喂养文胸的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  18. 网络安全:namp扫描工具
  19. 二维码支付的优势与劣势
  20. SSH服务器CBC加密模式漏洞(CVE-2008-5161)

热门文章

  1. linux添加变色龙引导,变色龙引导工具下载
  2. 恶意代码防范技术原理-恶意代码概述
  3. DW个人网站制作成品 简单个人静态HTML网页设计作品 DIV布局个人介绍网页模板代码
  4. vfp python_Visual Fox Pro和Python
  5. 计算机英语单词怎么读语音,英语单词发音
  6. 怎么用spss做冗余分析_SPSS在线_SPSSAU_SPSS典型相关分析
  7. IBM携手百洋医药 将沃森超级电脑带给中国肿瘤科医师
  8. 联想拯救者Y9000P 2022 安装ubuntu 20.04 以及显卡驱动
  9. VMware8序列号
  10. XP高仿win7宽栏风格主题