关系型数据库的运行结构

这篇文章主要回答一条SQL语句在数据库中执行的过程

1、什么是数据库

我们可以用最简单的理解方式:
1)数据库(Database)是存放数据的仓库
2)跟其他仓库一样,我们的数据存放需要遵循一定的规则
3)数据库的基本表现形式是数据文件
4)数据库管理系统(Database Management System)是管理数据库的软件系统,通常我们说的数据库其实是指的数据库管理系统

2、数据库的常见分类

下图整理了下常见的分类,这些分类方式并非互斥,一个数据库可能同时属于多个分类

我们平常用得多的数据库属于关系型集中式事务数据库,比如Oracle,MySQL,SQLServer,PostgreSQL等
在这里插入图片描述

3、数据库的运行结构

以关系型集中式事务数据库来讲,先看一下整体结构
在这里插入图片描述

3.1、监听器 Listener

监听器负责接受并处理来自客户端的数据库连接请求,会创建一个客户端到数据库服务的连接

3.2、解析器 Parser

Parser 可以理解为数据库的翻译系统,经过parser之后,会输出语法树结构(逻辑上的执行计划树)

解析器往细了分为两个部分

**语法分析器:**分析SQL语句要做什么操作以及是否符合SQL标准

**词法/语义分析器:**SQL语句中对象的合法性以及权限的判断

3.3、优化器 Optimizer

Optimizer是对SQL的实际执行过程进行性能优化的组件,解决的是对应的SQL要怎么做的问题
优化器的输入是解析器生成的语法树,输出的是物理执行计划

3.4、执行器 Executer

Executer负责逐条执行优化器生成的物理执行计划,根据执行计划的具体步骤进行操作和运算
执行器主要是调用操作系统的相关接口完成内存操作和文件操作

3.5、存储管理器Storage Manager

Storage Manager与数据库存储进行交互,主要做两件事
1)从数据库存储中读取数据
2)把内存中的数据写入到数据库存储

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值