MYSQL初级知识点——SQL架构与范式
树图思维导图提供 SQL架构与范式 在线思维导图免费制作,点击“编辑”按钮,可对 SQL架构与范式 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:b5dde8bb921c99a0801a57d496c39b83
SQL架构与范式思维导图模板大纲
MySQL与众不同主要体现在存储引擎的架构上,插件式的存储引擎架构将查询处理和其它的系统任务以及数据的存储提取相分离。
连接层
主要完成一些类似连接处理、授权认证及相关安全方案;
引入线程池的概念,为通过认证安全连接的客户端提供线程;
可以实现基于SSL的安全连接,服务器也会为安全接入的客户端验证它所具有的操作权限。
服务层
主要完成大部分的核心服务功能, 包括查询解析、分析、优化、缓存、以及所有的内置函数;
所有跨存储引擎的功能也都在这一层实现,包括触发器、存储过程、视图等;
引擎层
存储引擎真正的负责了MySQL中数据的存储和提取;
服务器通过API与存储引擎进行通信;
不同的存储引擎具有的功能不同,我们可以根据实际需要进行选取;
存储层
主要是将数据存储在运行于该设备的文件系统之上,并完成与存储引擎的交互。
第一范式(确保表中每列保持原子性)
数据库表中的字段都是单一属性的,不可再分;
这个单一属性有基本类型过程,包括:整型、字符型、逻辑型、日期等;
例如 “地址” 这个属性,如果业务上还可以细分,如拆分为省市区等,那就必须细分,否则不符合第一范式;
第二范式(确保表中每列都和主键列相关)
数据库表中不存在非关键字段对任一候选关键字的部分函数依赖,即所有非关键字段都完全依赖于任意一组候选关键字;
部分函数依赖指的是存在组合关键字中某些字段觉得非关键字的情况;
第三范式(确保表中每列都和主键列直接相关,而不是间接相关/传递依赖)
在第二范式的基础上,数据表中如果不存在非关键字段对任一候选关键字段的传递函数依赖则符合第三范式;
传递函数依赖,指的是如果存在“A->B->C”的决定关系,则C传递函数依赖A。
满足第三范式的数据库表不应存在传递依赖关系:关键字段 -> 非关键字段X -> 非关键字段Y;
复制的基本原理
slave 会从 master 读取binlog 来进行数据同步;
三个步骤
1. master 将改变记录到二进制日志(binary log)。这些记录过程叫做:二进制日志事件(binary log events);
salve 将 master 的binary log events 拷贝到它的中继器日志(relay log);
slave 重做中继日志中的事件,将改变应用到自己的数据库中。MySQL复制是异步且串行化的。
原理图
复制的基本原则
每个slave 只有一个master;
每个 slave 只能有一个唯一的服务器ID;
每个 master 可以有多个slave;
复制的方式
全量方式
master提交事务前,先写日志,日志同步给从节点,所有从节点都接收成功,则可以提交事务,完成主从同步;
部分方式
master提交事务前,先写日志,日志只要被其中一个从节点接收成功,则可以提交事务,完成主从同步;
复制的最大问题
延时。
树图思维导图提供 9.战斗的基督教 在线思维导图免费制作,点击“编辑”按钮,可对 9.战斗的基督教 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:33d168acd0cd9f767f809c7a5df86e3a
树图思维导图提供 第六章 群体传播与组织传播_副本 在线思维导图免费制作,点击“编辑”按钮,可对 第六章 群体传播与组织传播_副本 进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:1672f555831e7d9a3bb2cf2fb792cb49