Answers:
CAP定理:指定分布式系统可以提供两种服务(例如,可用性和分区容限),但不能提供三种服务。例如,如果服务提供可用性和分区,则它永远无法确保一致性(不是立即提供),因此将使用最终一致性,这将允许基础结构在不一致和一致性之间进行转换,但是在某一点上,基础设施迟早会变得一致,导致最终的一致性。云服务以这种方式工作,而Amazon的Simple DB使用最终的一致性。
ACID功能通常应用于关系数据库。如果要以分布式方式(分布式DB)应用ACID,则ACID使用2PC(两阶段提交)来强制跨分区保持一致性。但是,由于ACID提供了一致性和分区性,因此将CAP定理应用于(分布式环境)这将意味着可用性受到损害。
因此,使用了BASE(基本可用,软状态,最终一致),它可以提供ACID无法获得的可伸缩性级别。
希望这可以帮助。
关于CAP定理中的一致性,朱利安·布朗(Julian Brown)在他的文章(http://www.julianbrowne.com/article/brewers-cap-theorem)中写道:
一致的服务将完全运行或根本不运行。Gilbert和Lynch在其证明中使用“原子”一词代替了“一致”一词,这在技术上更有意义,因为严格来说,一致的是ACID中的C应用于数据库事务的理想属性,并且意味着数据将永不持久。打破某些预设约束。但是,如果您认为它是分布式系统的预设约束,即不允许同一数据段有多个值,那么我认为抽象漏洞已被塞满(此外,如果Brewer使用了atomic一词,则将其称为AAP定理,每当我们尝试发音时,我们都会住院。
因此,CAP中的C对应于ACID中的A。
他在Gilbert和Lynch的文章中提到“ Seth Gilbert和Nancy Lynch:Brewer的猜想以及一致的,可用的,耐分区的Web服务的可行性”