一、数据库存储服务概述¶
今时今⽇,数据库系统已经成为各个动态⽹站上 web 应⽤程序的重要组成部分。
由于⾮常敏感和机密的数据有可能保存在数据库中,所以对数据库实施保护就显得尤为重要了。
要从数据库中提取或者存⼊数据,就必须经过连接数据库、发送⼀条合法查询、获取结果、关闭连接等步骤。
⽬前,能完成这⼀系列动作的最常⽤的查询语⾔是结构化查询语⾔ Structured Query Language (SQL)。
并且在对数据库进行管理与维护的过程中,需要对数据库的相关知识进行充分的掌握,最终才能保证企业核心数据的安全性。
1.1 数据库知识引入¶
数据信息到底什么?
| 序号 | 识别数据方式 | 数据信息 |
|---|---|---|
| 01 | 人类识别数据 | 账号 密码 图片 视频 数字 文字 特殊符号 地址链接... |
| 02 | 电脑识别数据 | 二进制数值信息 |
数据如何进行存储?
可以利用专业的软件程序,将相关的人类识别的数据,转换为电脑可以识别的二进制信息进行存储
其中一些重要的且核心的数据信息,比如网站中的账号和密码数据信息,需要保证数据存储的安全性,提供更大的存储空间,便于管理;
因此,专门管理企业核心数据信息软件应运而生,数据库管理系统程序(软件-DBMS)
- 最核心数据信息存储:RDBMS-关系型数据库进行存储
- 次核心数据信息存储:NoSQL-非关系型数据库进行存储
- 分布型数据信息存储:DDBMS-分布式数据库进行存储(NewSQL)
常见数据库管理系统程序排名:https://db-engines.com/en/ranking
1.2 数据库服务概念¶
数据库(database DB),是一种存储数据的仓库,在实际应用过程具有如下特征:
- 数据库是根据数据结构组织、存储和管理数据的;
- 数据库能够长期、高效的管理和存储数据;
- 数据库的目的就是能够存储(写)和提供(读)数据

1.3 数据库服务分类¶
数据库分为三个大的类型:(随着互联网发展的产品类型)
- 关系型数据库:(属于数据整合时代)
把复杂的数据结构归结为简单的二元关系(RDBMS),即二维表格形式(二维表);会注重数据存储的持久性,但存储效率低;
此类型数据库服务,类似于excel表格的存储数据方式,多采用SQL语言方式进行操作管理;
关系型数据库四层结构信息:
| 序号 | 数据库结构 | 描述说明 |
|---|---|---|
| 01 | 数据库管理系统(DBMS) | 进行数据存储应用管理的操作环境或命令 |
| 02 | 数据库(DB) | 数据存储的承载环境 |
| 03 | 数据表(Table) | 数据关系的构建环境 |
| 04 | 数据字段(Field) | 实际数据信息展现形式 |
常见的关系数据库应用程序:
| 序号 | 数据库程序 | 应用说明 |
|---|---|---|
| 01 | MySQL | 互联网公司应用最广泛 |
| 02 | Mariadb | 企业场景应用较少(20%),主要用于教学环境较多 |
| 03 | Oracle | 传统企业和部分国企应用较多,但也逐步被国产数据库替代 |
| 04 | SQLserver | 适合windows server系统环境部署的数据库服务,属于微软公司发布的数据库服务 |
| 05 | PostgreSQL | 适合于海量数据信息存储,对于金融行业数据信息分析能力将强 |
说明:关系型数据库的极致追求:数据存储的安全性,但是在某种程度会损失数据存储和读取的性能。
- 非关系型数据库:(属于数据拆分时代)
没有具体模型的数据结构,英文简称NoSQL(Not Only SQL),意为"不仅仅是SQL",比较注重数据读取的效率;
利用NoSQL数据库主要处理高并发应用的场景,以及海量数据存储应用的场景
常见的非关系数据库应用程序:
| 序号 | 数据库程序 | 应用说明 |
|---|---|---|
| 01 | Redis | 可以利用内存存储数据,也可以采用磁盘存储数据,数据常见展示形式为key-value形式 |
| 02 | Memcache | 可以利用内存存储数据,也可以采用磁盘存储数据,数据常见展示形式为key-value形式 |
| 03 | Mongodb | 属于面向文档数据存储的数据库 |
| 04 | ES | 主要用于做日志数据的收集与检索的数据库(ELK ELFK) |
说明:非关系型数据库的极致追求:数据存储的高效性,但是在某种程序会牺牲数据存储的安全性。
- 企业新型数据库:(属于业务整合时代)
属于近些年,由国人研发设计出的数据库服务,可以满足很多国内高并发量网站数据存储和读取业务的需求;
常见的新型数据库应用程序:
| 序号 | 数据库程序 | 应用说明 |
|---|---|---|
| 01 | TiDB | 开源分布式关系型数据库,是一款同时支持在线事务处理与在线分析处理的融合型分布式数据库产品 |
| 02 | OceanBase | 是由蚂蚁集团完全自主研发的国产原生分布式数据库,兼顾分布式架构的扩展性与集中式架构的性能优势 |
| 03 | PolarXDB | 是由阿里巴巴自主研发的云原生分布式数据库,是一款基于云架构理念分布式数据库产品,专注海量数据处理 |
| 04 | RDS/TDSQL | 阿里云/腾讯云平台基于SaaS云计算服务环境构建的数据库产品(PolarXDB TDSQL TiDB) |

数据信息来源参考:https://www.modb.pro/dbRank
数据信息来源参考:https://db-engines.com/en/ranking
数据信息来源参考:https://www.itdks.com/
常见面试题目:(30%~40% 属于技术类面试题 剩余部分属于非技术类面试题)
01 请你介绍你熟悉的数据库产品? 你们公司用了哪些数据库产品?
关系型数据库(RDBMS):MySQL Oracle PG MSSQL;
非关系数据库(NoSQL):Redis MongoDB ES Memcached
云数据库:RDS
02 你喜欢MySQL数据库吗?平常如何学习的?MySQL需要具备哪些技能?
比较热衷于研究数据库领域技术,特别是一些开源的MySQL数据库产品都比较感兴趣研究;
在以往的工作中不断积累的技术经验,同时也经常通过官方文档查询数据库使用的方法,以及通过一些书籍和网上资料总结使用案例;
MySQL需要具备哪些技能可以将课程框架简单介绍一些;
1.4 MySQL 版本应用¶
根据本课程安排,主要会介绍讲解关系型数据库中的 MySQL 数据库服务,也是业界比较知名和流行的开源数据库产品;
因此,需要关注下MySQL软件程序的版本应用(产品线),以及同类型相关的数据库服务产品。
| 序号 | 厂商信息 | 数据库服务 |
|---|---|---|
| 01 | Oracle(官方) | Oracle/ MySQL(5.6 5.7* 8.0) |
| 02 | MariaDB | MariaDB Server(从5.5+之后,10.x+版本有自己的一些架构特性) |
| 03 | Percona | Percona Server(最接近于Oracle MySQL) |
MySQL企业应用的版本分析:
| 序号 | 大版本应用 | 小版本应用 |
|---|---|---|
| 01 | MySQL 5.6(企业应用极少) | 5.6.36 5.6.38 5.6.40 5.6.46 (GA 6-12月) 2021 01月 常规/扩展服务全部停止 |
| 02 | MySQL 5.7 (部分企业应用) | 5.7.20 5.7.22 5.7.24 5.7.26 ..5.7.40(GA最新双数版本) 2023 10月 常规/扩展服务全部停止 |
| 03 | MySQL 8.0 (应用最为广泛) | 8.0.11 8.0.17+ 8.0.18 8.0.26 8.0.32 (GA最新双数版本) |
MySQL企业应用的发布版本:
- C:表示为社区版本,属于开源免费版本
- C:表示为集群版本,属于开源盈利版本
- E:表示为企业版本,属于开源盈利版本
1.5 MySQL 优势特点¶
- MySQL数据库服务性能卓越,服务稳定,很少出现异常宕机的情况;
- MySQL数据库服务是开放源代码且无版权制约,自主性强,且使用成本低;
- MySQL数据库服务使用历史悠久,社区及用户非常活跃,遇到问题可以获取大量帮助;
- MySQL数据库服务软件体积小,安装使用简单,并且易于维护管理,安装及维护成本低;
- MySQL数据库服务业界口碑好,使得企业无需考虑就能直接使用;
- MySQL数据库服务架构应用广泛,可以用于构建LAMP LNMP LNMT等流行web架构;
- MySQL数据库服务支持多种操作系统,提供多种API接口,支持多种开发语言利用驱动接口调用;