数据库特性

一、关系型数据库

ACID 是关系型数据库的事务机制需要遵守的原则。事务是一个一致和可靠计算的基本单元,由作为原子单元执行的一系列数据库操作组成。数据库库一般在启动时会提供事务机制,包括事务启动、停止、取消或回滚等。
关系型数据库支持事务的 ACID 原则,即原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability),这四种原则保证在事务过程当中数据的正确性,具体描述如下。

原子性(A)

一个事务的所有系列操作步骤被看成一个动作,所有的步骤要么全部完成,要么一个也不会完成。如果在事务过程中发生错误,则会回滚到事务开始前的状态,将要被改变的数据库记录不会被改变。

一致性(C)

一致性是指在事务开始之前和事务结束以后,数据库的完整性约束没有被破坏,即数据库事务不能破坏关系数据的完整性及业务逻辑上的一致性。

隔离性(I)

主要用于实现并发控制,隔离能够确保并发执行的事务按顺序一个接一个地执行。通过隔离,一个未完成事务不会影响另外一个未完成事务。

持久性(D)

一旦一个事务被提交,它应该持久保存,不会因为与其他操作冲突而取消这个事务。

二、noSQL

BASE 理论是针对 [NoSQL]

基本可用(Basically Available)

指分布式系统在出现故障时,系统允许损失部分可用性,即保证核心功能或者当前最重要功能可用。

软状态(soft-state)

允许系统数据存在中间状态,但不会影响系统的整体可用性,即允许不同节点的副本之间存在暂时的不一致情况。

最终一致性(Eventually Consistent)

最终一致性要求系统中数据副本最终能够一致,而不需要实时保证数据副本一致。例如,银行系统中的非实时转账操作,允许 24 小时内用户账户的状态在转账前后是不一致的,但 24 小时后账户数据必须正确。
最终一致性是 BASE 原理的核心,也是 NoSQL 数据库的主要特点,通过弱化一致性,提高系统的可伸缩性、可靠性和可用性。而且对于大多数 Web 应用,其实并不需要强一致性,因此牺牲一致性而换取高可用性,是多数分布式数据库产品的方向。

三、分布式数据库

CAP 理论是针对分布式数据库而言的,它是指在一个分布式系统中,一致性(Consistency, C)、可用性(Availability, A)、分区容错性(Partition Tolerance, P)三者不可兼得。

原文地址:https://www.cnblogs.com/cgl-dong/p/13820917.html