分布式领域CAP理论,
Consistency(一致性), 数据一致更新,所有数据变动都是同步的
Availability(可用性), 好的响应性能
Partition tolerance(分区容忍性) 可靠性

定理:任何分布式系统只可同时满足二点,没法三者兼顾。
忠告:架构师不要将精力浪费在如何设计能满足三者的完美分布式系统,而是应该进行取舍。

关系数据库的ACID模型拥有 高一致性 + 可用性 很难进行分区:
Atomicity原子性:一个事务中所有操作都必须全部完成,要么全部不完成。
Consistency一致性. 在事务开始或结束时,数据库应该在一致状态。
Isolation隔离层. 事务将假定只有它自己在操作数据库,彼此不知晓。
Durability. 一旦事务完成,就不能返回。
跨数据库两段提交事务:2PC (two-phase commit), 2PC is the anti-scalability pattern (Pat Helland) 是反可伸缩模式的,JavaEE中的JTA事务可以支持2PC。因为2PC是反模式,尽量不要使用2PC,使用BASE来回避。

BASE模型反ACID模型,完全不同ACID模型,牺牲高一致性,获得可用性或可靠性:
Basically Available基本可用。支持分区失败(e.g. sharding碎片划分数据库)
Soft state软状态 状态可以有一段时间不同步,异步。
Eventually consistent最终一致,最终数据是一致的就可以了,而不是时时高一致。

BASE思想的主要实现有
1.按功能划分数据库
2.sharding碎片

BASE思想主要强调基本的可用性,如果你需要High 可用性,也就是纯粹的高性能,那么就要以一致性或容忍性为牺牲,BASE思想的方案在性能上还是有潜力可挖的。

现在NOSQL运动丰富了拓展了BASE思想,可按照具体情况定制特别方案,比如忽视一致性,获得高可用性等等,NOSQL应该有下面两个流派:
1. Key-Value存储,如Amaze Dynamo等,可根据CAP三原则灵活选择不同倾向的数据库产品。
2. 领域模型 + 分布式缓存 + 存储 (Qi4j和NoSql运动),可根据CAP三原则结合自己项目定制灵活的分布式方案,难度高。

这两者共同点:都是关系数据库SQL以外的可选方案,逻辑随着数据分布,任何模型都可以自己持久化,将数据处理和数据存储分离,将读和写分离,存储可以是异步或同步,取决于对一致性的要求程度。

不同点:NOSQL之类的Key-Value存储产品是和关系数据库头碰头的产品BOX,可以适合非Java如PHP RUBY等领域,是一种可以拿来就用的产品,而领域模型 + 分布式缓存 + 存储是一种复杂的架构解决方案,不是产品,但这种方式更灵活,更应该是架构师必须掌握的。

from:https://www.jdon.com/37625

转载于:https://www.cnblogs.com/chenjack/p/9330193.html

CAP原理和BASE思想相关推荐

  1. 分布式数据库CAP原理和Base

    l 传统ACID有: Ø A(Atomicity)原子性 Ø C(Consistency)一致性 Ø I(Isolation)独立性 Ø D(Durability)持久性 l CAP:不可能同时满足, ...

  2. 分布式系统理论 - CAP定理和BASE理论

    分布式系统理论 - CAP定理和BASE理论 分布式系统理论 - CAP定理和BASE理论 一.前言 二.CAP定理 2.1.概述 2.2.一致性(C:Consistency) 2.3.可用性(A:A ...

  3. CAP定理和BASE理论

    CAP定理和BASE理论 一.CAP定理是什么? 二.BASE理论是什么? 一.CAP定理是什么? CAP定理:在一个分布式系统中,最多只能同时满足一致性.可用性和分区容错性这三项中的两项. C:一致 ...

  4. 分布式与微服务——Iaas,Paas和Saas、单体应用和缺点、微服务概念、传统 分布式 SOA 架构与微服务架构的区别、微服务实战、什么是RPC、CAP定理和BASE理论、唯一ID生成、实现分布式

    文章目录 1-什么是Iaas,Paas和Saas 一 IaaS基础设施服务 二 paas平台即服务 三saas软件即服务 四 总结 2-单体应用和缺点 一 单体应用 二 单体应用的缺陷 3-微服务概念 ...

  5. base cap 分布式_分布式基础(1):CAP原理、BASE思想和最终一致性

    CAP,BASE和最终一致性是NoSQL数据库存在的三大基石. CAP C: Consistency 一致性 A: Availability 可用性(指的是快速获取数据) P: Tolerance o ...

  6. CAP 定理和 BASE理论 (了解分布式事务理论模型)

    分布式事务理论模型 一.CAP定理 首先了解下CAP 概念 : 一致性 (C:Consistency) : 数据在多个副本中要保持强一致性,[写操作之后的读操作,必须返回该值]. 可用性 (A:Ava ...

  7. 记录 CAP定理和BASE特性

    分布式系统(distributed system)正变得越来越重要,大型网站几乎都是分布式的. 分布式系统的最大难点,就是各个节点的状态如何同步.CAP 定理是这方面的基本定理,也是理解分布式系统的起 ...

  8. CAP定理和BASE原则

    CAP定理 2000年7月加州大学伯克利分校 Eric Brewer教授提出CAP猜想,两年后被证明. CAP理论告诉我们,一个分布式系统不可能同时满足一致性(C,Consistency),可用性(A ...

  9. mysql用的cap中哪两个_分布式事务CAP定理和BASE理论

    课程总计41课时,从什么是事务讲起,直到分布式事务解决方案,很的0基础基础与提升系列课程.对于难以理解的知识点,全部用画图+实战的方式讲解. 彻底明白事务的四个特性:原子性.一致性.隔离性.持久性,用 ...

最新文章

  1. 机器学习入门(16)— CNN 池化层概念和特征
  2. python面试常用问题_Python面试中最常见的25个问题-结束
  3. 北斗导航 | 卫星导航基础知识(坐标系)
  4. Tomcat乱码解决
  5. python机器人算法_DBscan算法及其Python实现
  6. C++ primer第十八章 18.1小结 异常处理
  7. VC 写 TXT 文件分割器 附代码
  8. (二)GitHub使用随记
  9. Netflix最新视频优化实践:用更少的带宽打造完美画质
  10. 搭建图像搜索引擎(之0):霍比特人直方图
  11. stm32 移植 FreeRTOS
  12. AURIX TriCore学习笔记四:LwIP裸机移植
  13. 小米4手机选择图库发送图片时崩溃
  14. 第三方客户端配置个人教育邮箱(以华北电力大学邮箱为例)
  15. 百度云搜索引擎森林战士_华为拟安装“俄版安卓”;百度回应内部贪腐;Android Studio 3.5 RC2 发布 | 极客头条...
  16. C1实训-Java薪资转换(适合初学者)
  17. Android 卡片、证件识别
  18. 关于我是如何自学Java,一个自学网站推荐How2j
  19. Uplinq2014:亲身体验Vuforia与智能眼镜设备
  20. IM1266在STM32F103C8T6下使用心得

热门文章

  1. 在电脑上安装python的步骤-python中pygame安装过程(超级详细)
  2. python下载word文件-python-docx操作word文件(
  3. python语言培训班-Python语言培训(零基础初级班)
  4. NVIDIA Jetson 系列产品开发相关文档,TAO、TLT、NGC
  5. 几种TCP连接中出现RST的情况
  6. 人要有水的精神和树的精神
  7. Bootstrap树控件(Tree控件组件)使用经验分享
  8. 《Head First Java》读书笔记(3) - 异常和IO
  9. 面下个对象 多态特性
  10. 菜鸟学习Spring——60s利用JoinPoint获取參数的值和方法名称