摘要: 1. MySQL文章目录 《Java架构师的第一性原理》41存储之MySQL第1篇MySQL简介 《Java架构师的第一性原理》41存储之MySQL第2篇MySQL逻辑架构 《Java架构师的第一性原理》41存储之MySQL第3篇存储引擎MyISAM、InnoDB 《Java架构师的第一性原理》41 阅读全文
posted @ 2021-04-12 22:55 沙漏哟 阅读(68) 评论(0) 推荐(0) 编辑
摘要: 1 MySQL死锁分析 1.1 InnoDB调试死锁的方法 1)【配置的确认与修改】 要测试InnoDB的锁互斥,以及死锁,有几个配置务必要提前确认: 区间锁是否关闭 事务自动提交(auto commit)是否关闭 事务的隔离级别(isolation level) 间隙锁是否关闭 区间锁(间隙锁,临 阅读全文
posted @ 2021-04-12 22:48 沙漏哟 阅读(74) 评论(0) 推荐(0) 编辑
摘要: 所有概念均以“用户中心”举例。 1 单库架构 单库架构,是业务初期最常见的数据库架构。 user-service:用户中心服务,对调用者提供友好的RPC接口 user-db:一个库进行数据存储 2 分组架构 数据库分组架构,即最常见的一主多从,主从同步,读写分离数据库架构: user-service 阅读全文
posted @ 2021-04-12 22:46 沙漏哟 阅读(70) 评论(0) 推荐(0) 编辑
摘要: 1 主从复制介绍 主从复制的概念很简单,就是从原来的数据库复制一个完全一样的数据库,原来的数据库称作主数据库,复制的数据库称为从数据库。从数据库会与主数据库进行数据同步,保持二者的数据一致性。 主从复制的原理实际上就是通过bin log日志实现的。bin log日志中保存了数据库中所有SQL语句,通 阅读全文
posted @ 2021-04-12 22:45 沙漏哟 阅读(63) 评论(0) 推荐(0) 编辑
摘要: 1 索引的数据结构B+树 《Java架构师的第一性原理》54算法之数据库索引数据结构B+树的前世今生 2 MyISAM与InnoDB的索引差异 1分钟了解MyISAM与InnoDB的索引差异 2.1 MyISAM的索引 MyISAM的索引与行记录是分开存储的,叫做非聚集索引(UnClustered 阅读全文
posted @ 2021-04-12 22:43 沙漏哟 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 1 一条查询SQL如何执行 本篇文章将通过一条 SQL 的执行过程来介绍 MySQL 的基础架构。 首先有一个 user_info 表,表里有一个 id 字段,执行下面这条查询语句: select * from user_info where id = 1; 返回结果为: + + + + + + + 阅读全文
posted @ 2021-04-12 22:42 沙漏哟 阅读(71) 评论(0) 推荐(0) 编辑
摘要: 1 事务 事务是MySQL区别于NoSQL的重要特征,是保证关系型数据库数据一致性的关键技术。事务可看作是对数据库操作的基本执行单元,可能包含一个或者多个SQL语句。这些语句在执行时,要么都执行,要么都不执行。事务的执行主要包括两个操作,提交和回滚。 提交:commit,将事务执行结果写入数据库。 阅读全文
posted @ 2021-04-12 22:39 沙漏哟 阅读(76) 评论(0) 推荐(0) 编辑
摘要: 1 锁机制 1.1 并发控制 为啥要进行并发控制? 并发的任务对同一个临界资源进行操作,如果不采取措施,可能导致不一致,故必须进行并发控制(Concurrency Control)。 技术上,通常如何进行并发控制? 通过并发控制保证数据一致性的常见手段有: 锁(Locking) 数据多版本(Mult 阅读全文
posted @ 2021-04-12 22:39 沙漏哟 阅读(94) 评论(0) 推荐(0) 编辑
摘要: 1 MySQL日志系统(BinLog、RedoLog、UndoLog) MySQL日志系统是数据库的重要组件,用于记录数据库的更新和修改。若数据库发生故障,可通过不同日志记录恢复数据库的原来数据。因此实际上日志系统直接决定着MySQL运行的正确性和稳健性。 MySQL的日志有很多种,如二进制日志(b 阅读全文
posted @ 2021-04-12 22:38 沙漏哟 阅读(125) 评论(0) 推荐(0) 编辑
摘要: 1 MySQL简要架构 MySQL简要架构是怎么样的? MySQL整体分为三层: (1)客户端,是各种编程语言的connector; (2)MySQL服务,内部包含各种组件,实现各种功能; (3)文件系统,数据存储与日志; 其中,MySQL服务内,可以以插件的形式,实现各种存储引擎。 在InnoDB 阅读全文
posted @ 2021-04-12 22:36 沙漏哟 阅读(59) 评论(0) 推荐(0) 编辑
摘要: 1 MySQL逻辑架构 MySQL的逻辑架构可分为四层,包括连接层、服务层、引擎层和存储层,各层的接口交互及作用如下图所示。 连接层: 负责处理客户端的连接以及权限的认证。 服务层: 定义有许多不同的模块,包括权限判断,SQL接口,SQL解析,SQL分析优化, 缓存查询的处理以及部分内置函数执行等。 阅读全文
posted @ 2021-04-12 22:35 沙漏哟 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 1 MySQL简介 在关系型数据库中,MySQL可以说是其中的王者。它是目前最流行的数据库之一,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。MySQL数据库具有以下几个方面的优势: 体积小、速度快; 代码开源,采用了 GPL 协议,可以修改源码来开发自己的 MySQL 系统; 阅读全文
posted @ 2021-04-12 22:34 沙漏哟 阅读(51) 评论(0) 推荐(0) 编辑