ACID原则
ACID(Atomicity, Consistency, Isolation, Durability)是关系型数据库都采用的原则。具体含义是:
Atomicity原子性:指一个事务(transaction)要么全部执行,要么完全不执行。也就是不允许一个事物只执行了一半就停止。
consistency一致性: any transaction will bring the database from one valid state to another.在分布式系统中,一致性也分很多种或者说程度,即一个事务对分布式系统的影响可能是局部的。但在关系型数据库中,一致性就是指强一致性,即整个系统处于统一的状态。
Durability持久性:当事务运行成功后,对系统状态的影响是持久的,不会无缘无故的撤销。在实现上,持久性一般对应着数据在硬盘上的持久化。
Isolation独立性:当有多个事务同时运行时,它们之间互相独立,互不干扰的程度。
CAP
Consistency强一致性:即在分布式系统中的同一数据多副本情形下,对于数据的更新操作提现出的效果与只有单份数据是一样的。
Availability可用性:客户端在任何对大规模数据系统的读写操作都应该保证在限定时限内完成。
Partition Tolerance分区容错性:在大规模分布式数据系统中,网络分区现象,即分区间机器无法进行网络通信的情况是必然会发生的,所以系统在这种情况下仍然应该继续工作。例如集群中有上千台机器,其中部分机器宕机不会让整个系统宕机。
CAP最初是由Eric Brewer与1999年首先提出的,他同时证明了:对于一个大规模分布式数据系统来说