1. 什么是事务?

由土哥和三皮提供:

事务一般指的是逻辑上的一组操作,或者单个逻辑单元执行的一系列操作。这些操作要么执行成功,要么执行失败。 同时事务包含 ACID 四大特性。

  1. A(Atomic)原子性:操作要么成功,要么失败。
  2. C(Consistency)一致性:指执行之前和执行之后,数据始终处于一致的状态。
  3. I(Isolation)隔离性:指并发执行的两个事务之间互不干扰。
  4. D(Durability)持久性:指事务提交完成后,此事务对数据的更改操作会被持久化到数据库中,并且不会回滚。

2 分布式事务和事务有啥区别?

分布式事务指将海量数据分散的存储到多台服务器的多台数据库中,同时要具备 ACID 特性。 分布式事务支持 CAP 理论 和 Base 理论

3. 解释一下CAP和BASE理论

C(Consistency)一致性:对所有的数据副本在进行增删查操作时,要么全部执行成功,要么全部执行失败。 A(Availability)可用性:指客户端访问数据的时候,能够快速得到响应。所有的请求都会被响应,不会存在响应超时或响应错误情况,如果对不同应用程序设置超时响应时间,一旦超过这个时间,系统将不可用。 P(Partition Tolerance)分区容忍性:一个节点挂掉后,不影响其他节点对外提供服务。 在分布式系统中,不会同时具备 CAP 三个特性,只能具备其中的两个。

Base 理论是对 CAP 理论中 AP 理论的一个扩展,它通过牺牲强一致性来获得可用性。 Base 理论是 基本可用(Basically Available)、软状态(Soft State)、和最终一致性(Eventually Consistent)的缩写。当系统出现故障时,Base 理论允许部分数据不可用,但是会保证核心功能能用;允许数据在一段时间内不一致,但是经过一段时间,数据最终是一致的。