事务中的隔离性是如何保证的呢?

简介: 事务中的隔离性是如何保证的呢?

事务的隔离性是由锁和mvcc实现的。

其中mvcc的意思是多版本并发控制。指维护一个数据的多个版本,使得读写操作没有冲突,它的底层实现主要是分为了三个部分,第一个是隐藏字段,第二个是undo log日志,第三个是readView读视图

隐藏字段是指:在mysql中给每个表都设置了隐藏字段,有一个是trx_id(事务id),记录每一次操作的事务id,是自增的;另一个字段是roll_pointer(回滚指针),指向上一个版本的事务版本记录地址

undo log主要的作用是记录回滚日志,存储老版本数据,在内部会形成一个版本链,在多个事务并行操作某一行记录,记录不同事务修改数据的版本,通过roll_pointer指针形成一个链表

readView解决的是一个事务查询选择版本的问题,在内部定义了一些匹配规则和当前的一些事务id判断该访问那个版本的数据,不同的隔离级别快照读是不一样的,最终的访问的结果不一样。如果是rc隔离级别,每一次执行快照读时生成ReadView,如果是rr隔离级别仅在事务中第一次执行快照读时生成ReadView,后续复用

目录
相关文章
|
2月前
|
消息中间件 数据库 RocketMQ
可靠消息最终一致性分布式事务
推荐一个零声教育C/C++后台开发的免费公开课程,个人觉得老师讲得不错,分享给大家:C/C++后台开发高级架构师,内容包括Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK等技术内容,立即学习
47 2
|
3月前
|
关系型数据库 MySQL 数据库
事务和锁:保证数据一致性
事务和锁:保证数据一致性
46 0
为什么分布式系统中无法同时保证一致性和可用性?
为什么分布式系统中无法同时保证一致性和可用性?
212 0
|
SQL 关系型数据库 MySQL
事务的ACID特性,4种隔离机制和7种传播行为
事务的ACID特性,4种隔离机制和7种传播行为
144 0
|
SQL Oracle 关系型数据库
事务特性及隔离问题
事务特性及隔离问题
94 0
|
新零售 消息中间件 存储
保证分布式系统数据一致性的6种方案
在电商等业务中,系统一般由多个独立的服务组成,如何解决分布式调用时候数据的一致性?
4218 0
|
消息中间件 算法 Oracle
分布式事务一致性实现的方式总结
 因为最近项目正在做重构,而这次重构实质上比原来更接近于SOA化和微服务的思想。对于我们金融交易来说,数据结果的准确性是重中之重。所以今天总结一下分布式事务的实现方法,下次组内周会给大家统一一下概念。
分布式事务一致性实现的方式总结
|
存储 数据库 微服务
微服务架构下的事务一致性保证
中生代技术群分享第四十四期。传统应用使用本地事务和分布式事务保证数据一致性,但是在微服务架构中数据都是服务私有的,需要通过服务提供的api访问,分布式事务不再适用微服务架构,传统分布式事务不是微服务中数据一致性的最佳选择。微服务架构中应满足数据最终一致性原则。
20730 0
|
消息中间件 缓存 数据库
分布式事务一致性解决方案
一、从数据一致性谈起   一致性问题,“万恶之源”是数据冗余和分布并通过网络交互+网络异常是常态。 1、数据一致性的情形 主库、从库和缓存数据一致性,相同数据冗余,关系数据库,为保证关据库的高可用和高性能,一般会采用主从(备)架构并引入缓存。
2924 0