MySQL 数据库概述
简介
数据库是一个长期存储在计算机内的、有组织的、有共享的、统一管理的数据集合。是按照数据结构来组织、存储和管理数据的仓库。目前常用的数据库主要分为开源 MySQL 数据库(包括官方版 MySQL、Percona MySQL MariDB)和商业版数据库 ( 包括 SQL Server、Oracle、DB2 ),在实际应用过程具有如下特征:
- 数据库是根据数据结构组织、存储和管理数据的
- 数据库能够长期、高效的管理和存储数据
- 数据库的目的就是能够存储和提供数据
例如一个学校全部学生学籍信息、选课情况、学分统计、考试成绩查询都是利用数据库对学校相关数据进行管理和存储的,而数据库则是配置在学校机房服务器的,利用数据库技术可以对这些数据进行管理,以便于教学工作高效、有序的开展。 常见数据库管理系统程序排名:https://db-engines.com/en/ranking
数据库分为三个大的类型(随着互联网发展的产品类型)
- 关系型数据库:(数据整合时代)
把复杂的数据结构归结为简单的二元关系(RDBMS)---二维表格形式。关系型数据库注重数据存储的持久性,但存储效率低。此类型数据库服务,类似于excel表格的存储数据方式,多采用SQL语言方式进行操作管理。其主要包括:
数据库结构 | 描述说明 |
---|---|
数据库管理系统(DBMS) | 进行数据存储应用管理的操作环境或命令 |
数据库(DB) | 数据存储的承载环境 |
数据表(Table) | 数据关系的构建环境 |
数据字段(Field) | 实际数据信息展现形式 |
常见的关系数据库应用程序:
数据库程序 | 应用说明 |
---|---|
MySQL | 互联网公司应用最广泛 |
Mariadb | 企业场景应用较少(20%),主要用于教学环境 |
Oracle | 传统企业和部分国企应用较多,但也逐步被国产数据库替代 |
SQL Server | 适合Windows Server系统环境部署的数据库服务,微软公司发布的数据库服务 |
PostgreSQL | 适合于海量数据信息存储,对于金融行业数据信息分析能力极强 |
- 非关系型数据库:(数据拆分时代)
没有具体模型的数据结构 NoSQL(Not Only SQL)注重数据读取的效率,但会牺牲数据存储安全性。利用NoSQL数据库主要处理高并发应用的场景,以及海量数据存储应用的场景。常见的非关系型数据库有:
数据库程序 | 应用说明 |
---|---|
Redis | 利用内存或磁盘存储数据,数据常见展示形式为key-value形式 |
Memcache | 利用内存或磁盘存储数据,数据常见展示形式为key-value形式 |
Mongodb | 面向文档数据存储的数据库 |
ES | 主要用于做日志数据的收集与检索的数据库(ELK ELFK) |
- 企业新型数据库:(业务整合时代)
近些年由国人研发设计出的数据库服务,可以满足很多国内高并发量网站数据存储和读取业务的需求。常见的有:
数据库程序 | 应用说明 |
---|---|
TiDB | 开源分布式关系型数据库,是一款同时支持在线事务处理与在线分析处理的融合型分布式数据库产品 |
OceanBase | 是由蚂蚁集团完全自主研发的国产原生分布式数据库,兼顾分布式架构的扩展性与集中式架构的性能优势 |
PolarXDB | 是由阿里巴巴自主研发的云原生分布式数据库,是一款基于云架构理念分布式数据库产品,专注海量数据处理 |
RDS/TDSQL | 阿里云/腾讯云平台基于SaaS云计算服务环境构建的数据库产品(PolarXDB TDSQL TiDB) |
版本
需要关注下MySQL软件程序的版本应用(产品线),以及同类型相关的数据库服务产品
厂商信息 | 数据库服务 |
---|---|
Oracle(官方) | Oracle/ MySQL(5.6 5.7* 8.0) |
MariaDB | MariaDB Server(从5.5+之后,10.0+版本有自己的一些架构特性) |
Percona | Percona Server |
MySQL企业应用的版本分析:
大版本应用 | 小版本应用 |
---|---|
MySQL 5.6 | 5.6.36、5.6.38、5.6.40、5.6.46 (GA 6-12月) 2020 10月 常规/扩展服务全部停止(General Availability) |
MySQL 5.7 (应用更加广泛) | 5.7.20、5.7.22、5.7.24、5.7.26...5.7.40(GA最新双数版本) 2021 01月 常规服务停止 2022 12月 常规/扩展服务全部停止 |
MySQL 8.0 (属于最新版本) | 8.0.11 8.0.17+ 8.0.18 8.0.26 8.0.32 (GA最新双数版本) |
C:表示为社区版本,属于开源免费版本、E:表示为企业版本,属于开源盈利版本