MySQL主从复制之并行复制说明

MySQL主从复制之并行复制说明,第1张

Coordinator 线程负责判断事务是否可以并行执行,如果可以并行就把事务分发给 WorkThread 线程执行,如果判断不能执行,如 DDL , 跨库 *** 作 等,就等待所有的worker线程执行完成之后,再由 Coordinator 执行。

一组事务同时提交也就意味着组内事务不存在冲突,故组内的事务在从节点上就可以并发执行,问题在于如何区分事务是否在同一组中的,于是在binlog中出现了两个新的参数信息 last_committed 和 sequence_number

Enjoy GreatSQL :)

MySQL提供两个级别的并发控制:服务器级(the server level)和存储引擎级(the storage engine level)。加锁是实现并发控制的基本方法,MySQL中锁的粒度:

(1)表级锁:MySQL独立于存储引擎提供表锁,例如,对于ALTER TABLE语句,服务器提供表锁(table-level lock)。

(2)行级锁:InnoDB和Falcon存储引擎提供行级锁,此外,BDB支持页级锁。InnoDB的并发控制机制,下节详细讨论。

另外,值得一提的是,MySQL的一些存储引擎(如InnoDB、BDB)除了使用封锁机制外,还同时结合MVCC机制,即多版本两阶段封锁协议MVCC(Multiversion two-phrase locking protocal),来实现事务的并发控制,从而使得只读事务不用等待锁,提高了事务的并发性。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8662004.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-19
下一篇 2023-04-19

发表评论

登录后才能评论

评论列表(0条)

保存