不同部署环境下事务特性

RDBMS:

集中环境:ACID,强事务要求。采用JDBC事务

Atomicity(原子性),一个事务中所有操作都必须全部完成,要么全部不完成。

Consistency(一致性),在事务开始或结束时,数据库应该在一致状态。

Isolation(隔离性),事务将假定只有它自己在操作数据库,彼此不知晓。

Durability(持久性),一旦事务完成,就不能返回。

分布式环境:CAP,三取其二,舍弃一。参与跨数据库的分布式事务。采用JTAXA)支持的2PC。但2PC造成性能差,推荐BASE.

Consistency(一致性), 数据一致更新,所有数据变动都是同步的,简单的说,就是数据复制到了N台机器,如果有更新,要N台数据是一起更新的。

Availability(可用性), 好的响应性能,意思主要就是速度。

Partition tolerance(分区容错性),或可靠性,是说好的分区方法,体现具体一点,简单地可理解为是节点的可扩展性,伸缩性。

NOSQL:

分布式环境:BASE, BASE是对CAP中的AP的延伸,放宽了CAPC的要求,以得到更好的AP,且在数据模型上引入约束,以支持更好的分区模式。没有经典意义上的事务。

Basic(基本)

Avalible(可用),支持分区失败,如分库分表的碎片。

Soft state(软状态),可以有一段时间不同步,异步。

Eventually consistent(最终一致性),或弱一致性,非实时一致。

你可能感兴趣的:(数据库,软件架构,软件设计研讨,事务特性)