## 何谓分布式事务 分布式事务是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。 分布式事务设计保证不同数据库的数据一致性。 ### 目标 1. 像传统单机事务一样的操作方式,即ACID 2. 可按需无限扩展 ## 现状 容易理解 ---> 性能不好 性能好的 ---> 不容易理解 应用面和能力上,分布式事务明显优于是单机事务, 但它是有代价的,目前不能实现和单机事务一样的体验。 饭不是数据库只能与单机数据库并存,不能取代。 ## 分布式事物的常识和问题 ### 什么是事务 无论怎么伪装,我们在操作的仍然是个图灵机 ## 网络的得与失 ## 基于锁的事务实现中的问题 1. 从2PL到2PC 2. 分布式事务异常处理 3. 分布式日志记录 4. 分布式事务延迟变大问题 ## 结合MVCC的事务实现中遇到的问题 1. 分布式顺序问题 ## 共享数据 两个线程共同去更改一条共享数据,需要 * 让很多步操作顺序发生 * 多进程/线程看上去就像是一步操作 这就是事务。 ## 网络(去中心化) ### 带来的 -理论无限的扩展能力 -理论无限的数据安全性 -理论无线的服务可用性 ### 失去的 -共享数据变得困难 -更多的延迟 -确定性丧失