关于mysql:MySQL学习笔记1

I、MySQL根本逻辑架构

分层 组件 性能
server层 连接器、查问缓存、分析器、优化器、执行器、内置函数等 存储过程、触发器、视图
存储引擎层 InnoDB、MyISAM、Memory等(默认InnoDB) 数据的存储和提取
注:建表时应用参数engine=$engine指定存储引擎;
   server为所有类型的存储引擎共用。

II、一条SQL语句如何执行

III、redo log和binlog

redo log redo log binlog
参数 innodb_flush_log_at_trx_commit=1 sync_binlog=1
作用 crash-safe 归档
分层 引擎特有 server层共有
反对引擎 InnoDB 不辨别引擎
日志级别 物理日志 逻辑日志
写入形式 循环写 追加写
存储占有 固定 不固定
注:redo log的过程与《孔乙己》掌柜记账形象化类比了解

IV、两阶段提交


1、两阶段提交:redo log的写入拆成了两个步骤:prepare和commit。
2、利用场景:数据库复原和扩容
3、目标:怎么让数据库复原到半个月内任意一秒的状态?
4、如果不应用两阶段提交:数据库的状态就有可能和用它的日志复原进去的库的状态不统一。

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理