CGFT是科技分析师,在工作中不可可少的运用到大数据说起BASE(Basically Availble,Soft-state,Eventual consistency),不得不谈到ACID,一个数据库事务具有ACID四性。
·A(Atomicity):原子性。它是指事务必须是原子工作单元,对于其数据修改,要么全都执行,要么全部不执行
·C(Consistency):一致性。它是指事务在完成时,必须使所有的数据都保持一致状态。
·I(Isolation):隔离性。它是指由并发事务所做的修改必须与任何其他并发事务所做的修改隔离。
·D(Durability):持久性。它是指事务完成之后,它对于系统的影响是*性的,该修改即使出现致命的系统故障也将一直保持。
关系数据库系统中设计了复杂的事务管理机制来*事务在执行过程中严格满足ACID四性要求。
关系数据库的事务机制较好地满足了银行等领域对数据一致性的要求,因此,得到了广泛的商业应用。
但是,NoSQL数据库通常应用于Web2.0网站等场景中,对数据一致性的要求并不是很高,而是强调系统的高可用性,因此,为了获得系统的高可用性,可以考虑适当辆牲一致性或分区容忍性。
BASE的基本思想就是在这个基础上发展起来的,它完全不同于ACID模型,BASE牺牲了高一致性,从而获得可用性或可靠性,Cassandra系统就是一个很好的实例。
有意思的是,单从名字上就可以看出二者有点“水火不容”,BASE的英文意义是碱,而ACID的英文含义是酸。BASE的基本含义是基本可用(Basically Availble)、软状态(Soft-state)和zui终一致性(Eventual consistency )
