排序
什么是2PC和3PC,它们有什么优缺点?
2PC 2PC即Two-Phase Commit,二阶段提交。广泛应用在数据库领域,为了使得基于分布式架构的所有节点可以在进行事务处理时能够保持原子性和一致性。绝大部分关系型数据库,都是基于2PC完成分布式...
二阶段提交的优缺点有哪些?
二阶段提交协议(Two-phase commit protocol),简称 2PC。 两阶段提交是一种强一致性事务协议,它分为准备阶段和提交阶段。 在准备阶段,协调者节点询问所有参与者是否准备好提交事务,如果所...
使用 Git bisect 命令定位首次引入错误的提交
bisect 工具 Git 的 bisect 工具通过快速识别坏的提交,节省了时间和精力。 你是不是有过这样的经历:发现代码中有 错误bug,但不知道这个错误是什么时候引入的。这有可能是因为,某个人提交了...
MySQL核心模块揭秘|二阶段提交prepare阶段
1. 二阶段提交 二阶段提交,顾名思义,包含两个阶段,它们是: prepare 阶段。 commit 阶段。 我们只考虑 SQL 语句操作 InnoDB 表的场景,对于用户事务,是否使用二阶段提交,取决于是否开启了 ...
MySQL事务隔离详解
什么是事务隔离 隔离是什么?看到“隔离”这个字眼,估计大部分人的第一反应就是“WC,阳了”,那么“隔离你”就是为了保证其他人的安全。 MySQL中的事务隔离也是这样的,主要是为了确保在并发...
数据库系统中的事务隔离级别有哪些?
SQL-92 标准定义了 4 种隔离级别来解决脏读、幻读、不可重复读等这些异常情况,从高到底依次为: 可串行化(Serializable)、可重复读(Repeatable reads)、读已提交(Read committed)、读未提交(Re...
MySQL事务提交和崩溃恢复
MySQL中的XA协议 有一个名叫X/Open的组织提出了一个名为XA的规范。这个XA规范提出了2个角色: 一个全局事务由多个小的事务组成,所以我们得在某个地方找一个总揽全局的角色用于和各个小事务进行...
强大的Git变基命令
Git 学习如何使用 Git 来压扁、变基和精选。 当我与别人谈到 Git 时,几乎每个人都对 git rebase 命令有强烈的印象,这个命令让许多人遇到了问题,而不得不更改目录、删除仓库、然后再重新克隆...