数据库系统简介
【摘要】 数据库是有一定组织结构、可长期存储的、可共享的数据集合。
1 基本概念
- 数据库(DB):有一定组织结构、可长期存储的、可共享的数据集合
- 关系型数据库:数据按照关系模型进行组织的数据库。
- 非关系型数据库(NoSQL):数据按照key-value、图模型等非关系型模型组织的数据库。
- 数据库管理系统(DBMS):对数据库进行管理(增删改查等业务操作)以及维护的系统,位于应用与操作系统之间。例如Mysql、Oracle、PostgreSQL等都是常见关系型数据库。
- 数据库内核:数据库管理系统的核心部分,采用高效的算法以及数据结构,保证核心功能(增删改查)的高效稳定。
- 数据库系统(DBS):引入数据库后的一整套包含软硬件的计算机系统,软件包含数据库、数据库管理系统、数据库开发工具库、操作系统、应用软件等。
2 数据库中数据模型
数据模型是对现实世界的抽象工具,反应业务信息之间的关系,指导开发人员进行数据库设计。
- 数据模型按照不同应用层次分成概念模型、逻辑模型、物理模型三种类型。信息的流转经过现实世界、信息世界和机器世界。信息世界里,用符号将现实世界的关系表示出来,形成概念模型,然后用数据库定义语言描述出来,形成逻辑模型,最后结合机器世界里的技术条件,确定具体的存储结构,形成物理模型。
- 数据模型描述的内容包含数据结构、数据操作和完整性约束三个要素。
- 数据模型按照对象关系类型主要包含关系模型、层次模型和网状模型三类。
3 数据库系统体系结构
不管是何种数据库系统软件,其总体体系结构可简单地划分为三级模式结构:外模式、概念模式、内模式:
- 外模式:又称用户模式,是局部模式。不同用户能操作的数据范围不同,因此给用户呈现的数据视图不同。
- 概念模式:是全局模式。整个数据库中数据逻辑结构的描述。
- 内模式:是全局模式。整个数据库中数据的物理结构、存储方式的描述。
4 数据库管理系统演化
数据库本质是数据的集合,随着数据量的逐步增长,历经人工管理、文件管理以及数据库系统管理三个阶段。最初数据量不大,由人工管理数据文件。信息时代到来,自然而然想到将数据文件电子化后存储到服务器文件系统中。然而,庞大而多样的数据导致文件系统深度和广度越来越大,寻址效率低下。于是,开发出专门的数据库管理系统,提高数据的寻址效率以及存储效率。
5 数据库管理系统特点
数据库系统源自于文件系统,但相比文件系统,做了如下功能增强。
- 支持特定语言SQL进行数据操作、数据定义。
- 保证对数据的操作是完整的(Atomicity)。
- 并发访问用户间是隔离的(Isolation)。
- 数据持久化(Durability)可靠地存储,能从多种故障场景恢复。
- 能保证事务执行前后最终状态的一致性(Consistency)。
6 数据库管理系统结构
数据库管理系统总体分为5个模块:
- 连接管理系统:负责与客户端直接通信,对连接用户鉴权。
- 编译执行系统:负责SQL语句的编译与执行,与存储管理系统对接进行数据操作。
- 存储管理系统:负责进行数据的存储。
- 事务系统:提供对事务、并发访问控制的支持。
- 系统表:负责数据库中所有元数据的管理。通常每个database有自己的一套系统表(创建database时从模板数据库拷贝),少数系统表是多个database共享。系统表将个系统模块有机地连接在一起。
7 SQL执行过程
SQL作为一种声明式语言,需要通过编译、优化生成程序化的执行路径才能被执行。不同的数据库优化器生成的执行路径不同,性能相差也比较大,因此不同品牌数据库的差异主要体现在优化器上。正常一条SQL的执行流程如下:
- 词法解析:分析器对SQL文本进行单词切割,提取关键词,校验单词是否正确。
- 语法解析:分析器对校验SQL语句语法正确性,生成语法树。例如select后面是否跟了from关键字。
- 语义解析:将语法树与元数据绑定,赋予SQL语句语义,确认字段、表是否存在或是否有权限访问。
- 优化:将绑定语义的语法结合表信息,生成最终的物理执行计划。
- 执行:运行物理执行计划,生成结果集返回给客户端。
8 参考
- https://xie.infoq.cn/article/d8a4a5a024b1e8ccd5a195259
- https://walleipt.gitbooks.io/postgresql/content/21-xi-tong-biao.html
- https://www.infoq.cn/theme/46
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)