数据库原理
travi
这个作者很懒,什么都没留下…
展开
-
数据库原理剖析 - 序列2 - 事务隔离级别和死锁检测
本文节选自《软件架构设计:大型网站技术架构与业务架构融合之道》第6.3章节。 作者微信公众号:架构之道与术。进入后,可以加入书友群,与作者和其他读者进行深入讨论。也可以在京东、天猫上购买纸质书。6.4.1 事务的四个隔离级别通俗地讲,事务就是一个“代码块”,这个代码块要么不执行,要么全部执行。事务要操作数据(数据库里面的表),事务与事务之间会存在并发冲突,就好比在多线程编程中,多个线程操...原创 2019-04-10 11:19:19 · 610 阅读 · 0 评论 -
数据库原理 - 序列3 - 事务是如何实现的? - Redo Log解析
6.5 事务实现原理之1:Redo Log介绍事务怎么用后,下面探讨事务的实现原理。事务有ACID四个核心属性:A:原子性。事务要么不执行,要么完全执行。如果执行到一半,宕机重启,已执行的一半要回滚回去。C:一致性。各种约束条件,比如主键不能为空、参照完整性等。I:隔离性。隔离性和并发性密切相关,因为如果事务全是串行的(第四个隔离级别),也不需要隔离。D:持久性。这个很容易理解,一旦事务...原创 2019-04-11 10:09:50 · 740 阅读 · 0 评论 -
数据库原理 - 序列4 - 事务是如何实现的? - Redo Log解析(续)
本文节选自《软件架构设计:大型网站技术架构与业务架构融合之道》第6.4章节。 作者微信公众号:架构之道与术。进入后,可以加入书友群,与作者和其他读者进行深入讨论。也可以在京东、天猫上购买纸质书。6.5.5 Redo Log Block结构Log Block还需要有Check sum的字段,另外还有一些头部字段。事务可大可小,可能一个Block存不下产生的日志数据,也可能一个Block能存...原创 2019-04-12 11:02:31 · 730 阅读 · 0 评论 -
数据库原理 - 序列7 - Binlog与主从复制
本文节选自作者书籍《软件架构设计:大型网站技术架构与业务架构融合之道》。作者微信公众号:架构之道与术。公众号底部菜单有书友群可以加入,与作者和其他读者进行深入讨论。也可以在京东、天猫上购买纸质书籍。6.7 Binlog与主从复制6.7.1 Binlog与Redo Log的主要差异在MySQL中,Redo Log记录事务执行的日志,Binlog也记录日志,但两者有非常大的差别。首先,My...原创 2019-04-16 10:53:58 · 620 阅读 · 1 评论 -
数据库原理剖析 - 序列1 - B+树
关系型数据库在查询方面有一些重要特性,是KV型的数据库或者缓存所不具备的,比如:(1)范围查询。(2)前缀匹配模糊查询。(3)排序和分页。这些特性的支持,要归功于B+树这种数据结构。下面来分析B+树是如何支持这些查询特性的。6.3.1 B+树逻辑结构图6-1展示了数据库的主键对应的B+树的逻辑结构,这个结构有几个关键特征:(1)在叶子节点一层,所有记录的主键按照从小到大的顺序排列,并...原创 2019-04-10 10:02:28 · 641 阅读 · 0 评论 -
数据库原理 - 序列5 - 事务是如何实现的? - Undo Log解析
本文节选自作者书籍《软件架构设计:大型网站技术架构与业务架构融合之道》。作者微信公众号:架构之道与术。公众号底部菜单有书友群可以加入,与作者和其他读者进行深入讨论。也可以在京东、天猫上购买纸质书籍。6.6 事务实现原理之2:Undo Log6.6.1 Undo Log是否一定需要说到Undo Log,很多人想到的只是“事务回滚”。“事务回滚”有四种场景:场景1:人为回滚。事务执行到一...原创 2019-04-15 10:25:33 · 743 阅读 · 0 评论