NoSQL的理论基础:CAP

CAP理论是NoSQL 数据库的基础,分别代表Consistency(强一致性),Availability(可用性),Partition Tolerance(分区容错),数据系统只能满足其中两个特性。

C:系统在执行某项操作后仍然处于一致的状态。在分布式系统中,更新操作执行成功之后,所有的用户都能读取到最新的值,这样的系统被认为具有强一致性。

A:用户执行的操作在一定时间内,必须返回结果。如果超时,那么操作回滚,跟操作没有发生一样。

P:分布式系统是由多个分区节点组成的,每个分区节点都是一个独立的Server,P属性表明系统能够处理分区节点的动态加入和离开。

在构建分布式系统时,必须考虑CAP特性。传统的关系型DB,注重的是CA特性,数据一般存储在一台Server上。而处理海量数据的分布式存储和处理系统更注重AP,AP的优先级要高于C,但NoSQL并不是完全放弃consistency,NoSQL保留数据的最终一致性(Eventually Consistency)。最终一致性是指更新操作完成之后,用户最终会读取到数据更新之后的值,但是会存在一定的时间窗口,用户仍会读取到更新之前的旧数据;在一定的时间延迟之后,数据达到一致性。

时间: 2024-11-04 19:01:25

NoSQL的理论基础:CAP的相关文章

分布式系统理论基础 - CAP

转:http://www.cnblogs.com/bangerlee/p/5328888.html 引言 CAP是分布式系统.特别是分布式存储领域中被讨论最多的理论,"什么是CAP定理?"在Quora 分布式系统分类下排名 FAQ 的 No.1.CAP在程序员中也有较广的普及,它不仅仅是"C.A.P不能同时满足,最多只能3选2",以下尝试综合各方观点,从发展历史.工程实践等角度讲述CAP理论.希望大家透过本文对CAP理论有更多地了解和认识. CAP定理 CAP由Er

CAP原理

传统关系型数据库面临的挑战 l High Performance——对数据库高并发读写的需求 l Huge Storage——对海量数据的高效率存储的需求 l High Scalability & High Availablity——对数据库的高可扩展性和高可用性的需求. 对于当前的很多网站来说,关系数据库的很多主要特性往往无用武之地,例如: l 数据库事务一致性需求 很多系统并不要求严格的数据库事务,对读一致性的要求很低,因此数据库事务管理成了数据库高负载下一个沉重的负担. l 数据库的实时性

NoSql的三大基石:CAP理论&BASE&最终一致性

关系型数据库的局限 NoSql出现在关系型数据库之后,主要是为了解决关系型数据库的短板,我们先来看看随着软件行业的发展,关系型数据库面临了哪些挑战: 1.高并发 一个最典型的就是电商网站,例如双11,几亿大军的点击造成在某一时刻的并发量是很高的,传统的关系型数据库肯定已经是不堪重负了,如Oracle的Session数量推荐的才只有500. 2.高效率存储海量数据 大数据时代,数据量已经不是用GB.TB来衡量了,而是EB.ZB了,面对这海量的数据,如何高效率的存储这些数据,关系型数据库无法解决这个

ACID、Data Replication、CAP与BASE

ACID.Data Replication.CAP与BASE http://www.cnblogs.com/hustcat/archive/2010/09/07/1820970.html ACID 在传数据库系统中,事务具有ACID 4个属性(Jim Gray在<事务处理:概念与技术>中对事务进行了详尽的讨论). (1)原子性(Atomicity):事务是一个原子操作单元,其对数据的修改,要么全都执行,要么全都不执行. (2)一致性(Consistent):在事务开始和完成时,数据都必须保持一

关于ACID理论和CAP理论

事务(Transaction):   事务(Transaction)是并发控制的单位,是用户定义的一个操作序列.这些操作要么都做,要么都不做,是一个不可分割的工作单位.在关系数据库中,一个事务可以是一条SQL语句,一组SQL语句或整个程序.当对多个表进行更新的时候,某条执行失败.为了保持数据的完整性,需要使用事务回滚. ACID:RDBMS中的四个要素    ACID是只指数据库中事务正确执行的四个要素的缩小,包含原子性(Atomicity),一致性(Consistency),隔离性(Isola

CAP理论与MongoDB一致性、可用性的一些思考

大约在五六年前,第一次接触到了当时已经是hot topic的NoSql.不过那个时候学的用的都是mysql,Nosql对于我而言还是新事物,并没有真正使用,只是不明觉厉.但是印象深刻的是这么一张图片(后来google到图片来自这里): 这张图片是讲数据库(包括传统的关系型数据库和NOSQL)与CAP理论的关系.由于并NoSql并没有实践经验,也没有去深入了解,对于CAP理论更是一知半解.因此,为什么某一款数据库被划分到哪一个阵营,并不清楚. 工作之后对MongoDB使用得比较多,有了一定的了解,

关于Mongodb的Cap理论的思考(转载)

大约在五六年前,第一次接触到了当时已经是hot topic的NoSql.不过那个时候学的用的都是mysql,Nosql对于我而言还是新事物,并没有真正使用,只是不明觉厉.但是印象深刻的是这么一张图片(后来google到图片来自这里): 这张图片是讲数据库(包括传统的关系型数据库和NOSQL)与CAP理论的关系.由于并NoSql并没有实践经验,也没有去深入了解,对于CAP理论更是一知半解.因此,为什么某一款数据库被划分到哪一个阵营,并不清楚. 工作之后对MongoDB使用得比较多,有了一定的了解,

数据一致性(consistency)、服务可用性(availability)、分区容错性(partition-tolerance)

分布式系统理论基础 - CAP 2016-04-04 18:27 by bangerlee, 135 阅读, 0 评论, 收藏, 编辑 引言 CAP是分布式系统.特别是分布式存储领域中被讨论最多的理论,“什么是CAP定理?”在Quora 分布式系统分类下排名 FAQ 的 No.1.CAP在程序员中也有较广的普及,它不仅仅是“C.A.P不能同时满足,最多只能3选2”,以下尝试综合各方观点,从发展历史.工程实践等角度讲述CAP理论.希望大家透过本文对CAP理论有更多地了解和认识. CAP定理 CAP

后端技术:分布式系统理论 - 从放弃到入门

分布式系统理论 - 从放弃到入门随承载用户数量的增加和容灾的需要,越来越多互联网后台系统从单机模式切换到分布式集群.回顾自己毕业五年来的工作内容,同样有这样的转变. 毕业头两年负责维护运行在刀片机上的业务,在机房里拔插单板的日子是我逝去的青春.设备之间通过VCS组成冷备,但即使有双机软件保护,宕机.网络丢包等问题发生时业务仍会受影响.这样的系统架构下为保证SLA,有时候需要深入 Linux系统内核或硬件层面分析机器重启的原因. 接下来负责维护承载在分布式集群上的业务,相比前面的工作,这个阶段主要