数据库及分布式事务
军伟@
Java开发工程师
展开
-
MySQL事务的实现原理
1. 开篇相信大家都用过事务以及了解他的特点,如原子性(Atomicity),一致性(Consistency),隔离型(Isolation)以及持久性(Durability)等。今天想跟大家一起研究下事务内部到底是怎么实现的,在讲解前我想先抛出个问题:事务想要做到什么效果?按我理解,无非是要做到可靠性以及并发处理。可靠性:数据库要保证当insert或update操作时抛异常或者数据...转载 2020-02-27 22:42:45 · 1517 阅读 · 0 评论 -
Fescar源码学习--锁设计和隔离级别的理解
Fescar全局锁的理解前几天夜里,我老大发我一篇文章说阿里的GTS开源了.因为一直对分布式事务比较感兴趣。立马pull了代码,进行阅读。基本的原理,实现方案我就不一一细化了,详细见官方文档(写的很棒,点赞)。 在fescar的社区,大家比较关注的是通过fescar回滚到before快照前,别的线程假如更新了数据,且业务走完了,那么恢复的这个快照不就是脏数据了么。很显然,这种情况在...转载 2019-03-16 17:56:03 · 588 阅读 · 1 评论 -
分布式事物--GTS的原理、架构与特点
上一篇博客《分布式事务--Fescar》中我们已经了解到Fescar相关的知识,Fescar也是基于阿里巴巴的GTS开源的。这篇转载博客理解学习一下GTS相关的知识内容。 全局事务服务(Global Transaction Service,简称 GTS)是阿里新推出的分布式事务处理方案,对其深入分析的资料相对匮乏。本文的目标是剖析GTS的技术路线,厘清其优势与约...转载 2019-01-22 21:29:07 · 4026 阅读 · 0 评论 -
分布式事物-- MySQL XA 协议
上一篇博客《分布式事务--Fescar》分享了阿里巴巴开源的分布式事物框架Fescar,接触到Fescar的实现原理借鉴了XA协议,这篇博客我们来介绍总结一下XA协议。MySQL 从5.0.3开始支持XA分布式事务,且只有InnoDB存储引擎支持。MySQL Connector/J 从5.0.0版本之后开始直接提供对XA的支持。标题 分布式事物XA协议规范:AP:应...转载 2019-01-21 20:31:21 · 1945 阅读 · 0 评论 -
分布式事务--Fescar
地址:https://github.com/alibaba/fescar《分布式事物--GTS的原理、架构与特点》《Fescar源码学习--事物管理者TM(服务调用方)》《Fescar源码学习--资源管理者RM(服务提供方)》《Fescar源码学习--服务协调器(TC)》Fescar 是 阿里巴巴 开源的 分布式事务中间件,以 高效 并且对业务 0 侵入 的方式,解决 微服务 ...转载 2019-01-19 20:37:31 · 2778 阅读 · 1 评论 -
Fescar源码学习--服务协调器TC
之前我们已经用两篇博客分别介绍了Fescar中的TM和RM两个角色的相关操作,这篇博客我们来介绍一下TC《Fescar源码学习--事物管理者TM(服务调用方)》《Fescar源码学习--资源管理者RM(服务提供方)》一、简介TC(Fescar Server)作为全局事务协调器主要做了以下操作。(1)TM和RM启动时会注册到TC,TC会将注册信息持久化。(2)TM在begin...原创 2019-01-29 13:52:27 · 3115 阅读 · 2 评论 -
Fescar源码学习--资源管理者RM(服务提供方)
之前我们已经在博客《分布式事务--Fescar》中了解学习到Fescar相关的架构,接下来我们分别用几篇博客分别来介绍一下Fescar的 TM、RM 和 TC之间的交互流程。TM、RM和TC之间的交互流程图:简单角色理解:TC: Fesacr-server应用TM:dubbo服务调用方RM:dubbo服务提供方一、RM 简介1、简介 在上一篇博客《...原创 2019-01-28 17:04:25 · 2094 阅读 · 6 评论 -
Fescar源码学习--事物管理者TM(服务调用方)
之前我们已经在博客《分布式事务--Fescar》中了解学习到Fescar相关的架构,接下来我们分别用几篇博客分别来介绍一下Fescar的 TM、RM 和 TC之间的交互流程。TM、RM和TC之间的交互流程图:简单角色理解:TC: Fesacr-server应用TM:dubbo服务调用方RM:dubbo服务提供方一、示例官方示例:https://git...原创 2019-01-24 20:16:16 · 1794 阅读 · 2 评论 -
Mysql聚集索引和非聚集索引(堆组织表和索引组织表)
1.堆组织表(HOT)和索引组织表(IOT)有什么区别? myisam使用的堆组织表(Heap Organize Table, HOT),没有聚集索引的概念,使用B-tree索引的存储格式,显示都是随机顺序。 innodb表是索引组织表(Index Organized Table, IOT),它的索引则是采用 clustered index 方式,因此主键会按照顺序存储,每次有记录有更...转载 2018-05-24 20:49:43 · 5817 阅读 · 5 评论 -
PostgreSQL两种分页方法查询时间比较
数据库中存了3000W条操作日志,两种分页查询测试时间,我们的分页方法用的是第二种第一种SELECT * FROM log_operation WHERE i_id>1000 limit 100;Time: 0.016s第二种SELECT * FROM log_operation limit 100 OFFSET 1000;Time: 0.00原创 2015-09-24 13:43:20 · 43185 阅读 · 11 评论