MySQL概念及架构

背景:

	工作和学习当中经常要使用到关系型数据库,但是对一些的基础概念总是记不清楚,因此自己动手写一篇文章总结整理下,欢迎大家指正。

什么是关系型数据库

常见的关系型数据库结构是这样的:

在这里插入图片描述
即表与表之间的关系称之为关系型数据库

关系型数据库的常见术语

  • 数据库:数据库是关联表的集合,一个数据库里可以有很多数据表。
  • 数据表:表是数据的举证,类似于Excel的表格结构
  • 行:一行数据是一组相关的数据,比如一个班级里张三的基本信息
  • 列: 一列数据是相同属性的集合,比如一个班级的所有姓名
  • 冗余:存储两倍的数据,虽然降低了性能,但是提高了数据的安全性
  • 主键:每个数据表中都唯一存在一个主键,一般默认都是id为其主键
  • 外键:外键用于关联表与表之间的关系
  • 索引:建立索引可以快速访问数据中的特定字段信息。索引是对数据表中的一列或多列的值进行排序的一种结构,类似于书籍的目录。
  • 复合键:复合键将多个列作为一个索引键,一般用于复合索引。

Mysql的架构图

在这里插入图片描述
Mysql结构总共分为两层:

  1. Mysql的逻辑结构
  2. 物理结构

从上图可以看出MYSQL的逻辑结构分为以下几部分:

  • 连接池
  • 管理服务和工具组件
  • SQL接口
  • 查询分析器
  • 优化器
  • 缓存区域
  • 存储引擎
  • 物理文件
  • 物理结构:
    mysql软件(mysqld)+配置文件+mysql数据文件(磁盘上的文件:datadir)

存储引擎

MySQL的存储引擎是innoDB

  • 支持事务安全
  • 数据多版本读取
  • 锁定机制的改进
  • 实现外键

事务的四个特性

1、数据完整性 事务完成之后,它对于数据的修改是永久性的,即使出现系统故障也能够保持
2、一致性 在事务开始和完成时,数据都必须保持一致状态。这意味着所有相关的数据规则都必须应用于事务的修改,以保持数据的完整性;事务结束时,所有的内部数据结构(如B树索引或双向链表)也都必须是正确的。
3、隔离性 数据库系统提供一定的隔离机制,保证事务在不受外部并发操作影响的“独立”环境执行。这意味着事务处理过程中的中间状态对外部是不可见的,反之亦然。
4、原子性 事务是一个原子操作单元,其对数据的修改,要么全都执行,要么全都不执行

记录一下之前腾讯的面试题:

MySQL都有哪几种引擎,InnoDB是如何实现索引的?

引擎是程序中的核心组件

  • mysql总共有三种引擎,最常见的是InnoDB和MyISAM,Memeory存储引擎
  • InnoDB是通过三种方式来实现索引,一个是B树,B+树,聚簇索引和二级索引
    每个InnoDB的表都拥有一个索引,称之为聚簇索引,此索引中存储着行记录,一般来说,聚簇索引是根据主键生成的
发布了3 篇原创文章 · 获赞 4 · 访问量 47

猜你喜欢

转载自blog.csdn.net/Lb_fly0505/article/details/104608268