- 博客(8)
- 收藏
- 关注
原创 MySQL半同步复制
对于传统的异步复制来说,主库上产生的binlog events交给dump thread之后,就会去处理下一个事务,对于master产生的binlog events是否发送给slave并无法保证。因此,对于传统的复制来说是无法保证主从数据的一致性。MySQL为了解决这个问题,5.6引入了半同步复制,5.7引入了增强半同步复制。半同步复制原理 相较于异步复制,半同步引入了一个ACK响应...
2019-05-13 22:36:25
705
原创 Innodb索引的实现
正如我们所知,在计算机上运行一个任务,影响其性能的主要因素包括内存的大小,cpu以及磁盘的速度。而对于索引来说,它是一种数据的存储方式,而与它相关的就是磁盘的读取速度了。对于磁盘来说,顺序的读取肯定比随机的读取数据要快。即便数据的物理存储是没顺序的,但是索引是有顺序的。我们可以通过索引的顺序查找,来找到对应的物理数据页。另外,我们读取数据的时候,尽量读取有效数据,减少无效数据的读取。例如对于一...
2019-05-07 21:55:04
434
原创 MySQL复制
MySQL的复制指的就是事务在Master/Slave两个节点上的执行过程。具体的流程:当一个事物在Master上提交的时候,会将其binlog cache中的binlog events刷入到binlog文件中,binlog文件中就生成相应的binlog events,master的dump thread会定时的将binlog events发送给slave端。那么binlog events中记...
2019-05-05 21:59:19
274
原创 InnoDB体系结构之存储篇
Innodb存储引擎在存储设计上模仿了Oracle的存储结构,其数据是按照表空间进行管理的。所有的数据都要存储在表空间中。Innodb的表空间分为:系统表空间新建一个数据库时,Innodb会初始化一个名为ibdata1的系统表空间。可通过innodb_data_file_path来定义其路径、大小以及自动扩展策略。例如 innodb_data_file_path= ibdata1:1...
2019-04-25 22:21:35
298
原创 事务及隔离级别
事务是由一个或者一组SQL组成的执行单元。事务具有ACID特性:Atomicity(原子性):同一个事务里要么全部提交,要么全部回滚,不能只有一部分成功或者一部分回滚。如果在事务执行过程中发生了错误,那么就要通过undo log将事务回滚到开始时的状态。Consistency(一致性):事务和数据要保持一致性。提交的事务,那么对应的数据也要做出相应的同步修改。例如:Innodbcr...
2019-04-25 22:21:16
168
原创 InnoDB体系结构之日志篇
InnoDB体系结构之日志篇首先我们看一下硬盘的的结构:read-write head:磁头,读写数据的接口platter:盘面track:磁道cylinder:柱面,由每个盘面上相同的磁道所组成sector:扇区,磁盘的最小I/O单元磁盘的容量就可以通过磁头数*2*柱面数*扇区数*512来计算所以,我们读写磁盘上的数据的基本流程就是,通过arm assembl...
2019-04-23 20:44:33
382
原创 InnoDB体系结构之内存篇
前言,对于计算机来说,CPU的运算速率要比内存读写速率快的多,内存的读写效率比磁盘的读写要快得多。为了解决CPU运行效率与内存读写速度不匹配的问题,就出现了CPU缓存。将内存中的一小部分数据在CPU中缓存起来,这样就加快了CPU处理数据的能力。其实在任意两种速度相差较大的硬件/软件之间的,都可以通过缓存来协调两者数据传输速度的差异。对于Innodb存储引擎来说,也是通过这种...
2019-04-23 20:17:18
213
原创 安装mysql前,对linux系统的优化
一, 硬件设置 1,CPU ,内存 默认都是节能模式 进入Bios里改为 高性能模式 2,建议使用SSD硬盘,如果是Raid卡,建议使用raid5,或者raid10 Raid1,Raid0,Raid5,Raid10的区别 raid0 :性能最强的阵列形式,就是在多个磁盘上分散存取连续的数据,存取数据时多个磁盘可以并排执行,各个磁盘处理自己的那部分...
2018-07-07 17:50:34
450
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人