`
erichi101
  • 浏览: 10002 次
文章分类
社区版块
存档分类
最新评论

CAP

阅读更多
一个分布式系统里面,节点组成的网络本来应该是连通的。然而可能因为一些故障,使得有些节点之间不连通了,整个网络就分成了几块区域。数据就散布在了这些不连通的区域中。这就叫分区。

当你一个数据项只在一个节点中保存,那么分区出现后,和这个节点不连通的部分就访问不到这个数据了。这时分区就是无法容忍的。

提高分区容忍性的办法就是一个数据项复制到多个节点上,那么出现分区之后,这一数据项就可能分布到各个区里。容忍性就提高了。

然而,要把数据复制到多个节点,就会带来一致性的问题,就是多个节点上面的数据可能是不一致的。要保证一致,每次写操作就都要等待全部节点写成功,而这等待又会带来可用性的问题。

总的来说就是,数据存在的节点越多,分区容忍性越高,但要复制更新的数据就越多,一致性就越难保证。为了保证一致性,更新所有节点数据所需要的时间就越长,可用性就会降低。
链接:https://www.zhihu.com/question/54105974/answer/139037688
 
 

CAP定理(CAP theorem)

在计算机科学中, CAP定理(CAP theorem), 又被称作 布鲁尔定理(Brewer's theorem), 它指出对于一个分布式计算系统来说,不可能同时满足以下三点:

  • 一致性(Consistency) (所有节点在同一时间具有相同的数据)
  • 可用性(Availability) (保证每个请求不管成功或者失败都有响应)
  • 分隔容忍(Partition tolerance) (系统中任意信息的丢失或失败不会影响系统的继续运作)

CAP理论的核心是:一个分布式系统不可能同时很好的满足一致性,可用性和分区容错性这三个需求,最多只能同时较好的满足两个。

因此,根据 CAP 原理将 NoSQL 数据库分成了满足 CA 原则、满足 CP 原则和满足 AP 原则三 大类:

  • CA - 单点集群,满足一致性,可用性的系统,通常在可扩展性上不太强大。
  • CP - 满足一致性,分区容忍性的系统,通常性能不是特别高。
  • AP - 满足可用性,分区容忍性的系统,通常可能对一致性要求低一些。
 

NoSQL的优点/缺点

优点:

  • - 高可扩展性
  • - 分布式计算
  • - 低成本
  • - 架构的灵活性,半结构化数据
  • - 没有复杂的关系

缺点:

  • - 没有标准化
  • - 有限的查询功能(到目前为止)
  • - 最终一致是不直观的程序

BASE

BASE:Basically Available, Soft-state, Eventually Consistent。 由 Eric Brewer 定义。

CAP理论的核心是:一个分布式系统不可能同时很好的满足一致性,可用性和分区容错性这三个需求,最多只能同时较好的满足两个。

BASE是NoSQL数据库通常对可用性及一致性的弱要求原则:

  • Basically Availble --基本可用
  • Soft-state --软状态/柔性事务。 "Soft state" 可以理解为"无连接"的, 而 "Hard state" 是"面向连接"的
  • Eventual Consistency -- 最终一致性, 也是是 ACID 的最终目的。

ACID vs BASE

ACIDBASE
原子性(Atomicity) 基本可用(Basically Available)
一致性(Consistency) 软状态/柔性事务(Soft state)
隔离性(Isolation) 最终一致性 (Eventual consistency)
持久性 (Durable)  

NoSQL 数据库分类

类型 部分代表

 

特点
列存储

Hbase

Cassandra

Hypertable

顾名思义,是按列存储数据的。最大的特点是方便存储结构化和半结构化数据,方便做数据压缩,对针对某一列或者某几列的查询有非常大的IO优势。

文档存储

MongoDB

CouchDB

文档存储一般用类似json的格式存储,存储的内容是文档型的。这样也就有有机会对某些字段建立索引,实现关系数据库的某些功能。

key-value存储

Tokyo Cabinet / Tyrant

Berkeley DB

MemcacheDB

Redis

可以通过key快速查询到其value。一般来说,存储不管value的格式,照单全收。(Redis包含了其他功能)

图存储

Neo4J

FlockDB

图形关系的最佳存储。使用传统关系数据库来解决的话性能低下,而且设计使用不方便。

对象存储

db4o

Versant

通过类似面向对象语言的语法操作数据库,通过对象的方式存取数据。

xml数据库

Berkeley DB XML

BaseX

高效的存储XML数据,并支持XML的内部查询语法,比如XQuery,Xpath。

 

 

 

 

 
 
 
 
分享到:
评论

相关推荐

    经典密码学CAP4 CAP4

    经典密码学CAP4

    史上最全的数据包,cap文件

    bgp-con-nexthop-before.cap bgp-con.cap bgp-in.cap bgp-no-nei.cap bgp-simple.cap DHCP Client.cap dot1x-error.cap dot1x-login.cap dot1x-logina.cap eapol or eap or nbns-dot1x.cap gmrp.cap gvrp.cap h3...

    cap_ffmpeg_impl.hpp

    make[2]: *** [modules/highgui/CMakeFiles/opencv_highgui.dir/src/cap_ffmpeg.o] Error 1 make[1]: *** [modules/highgui/CMakeFiles/opencv_highgui.dir/all] Error 2 make: *** [all] Error 2 解决办法: 通过...

    致远 CAP4 应用定制平台 白皮书 .pdf

    CAP 以协同的组织、人员、状态、结果的行为过程为基础,全新构造工作、业务信息化 的模型,与专业化软件的计算能力、专业模型能力相配合而不是竞争,成为基础业务活动的 入口和工作场所,是对业务场景的信息化,...

    easier cap驱动程序

    easier cap驱动程序,安装前显示为usbtv007,安装后显示为OEM Caputer

    Spanner, TrueTime & the CAP Theorem.pdf

    The CAP theorem [Bre12] says that you can only have two of the three desirable properties of: • C: Consistency, which we can think of as serializability for this discussion; • A: 100% availability, ...

    cap原始包包括bgp dhcp ospf pppoe snmp等

    bgp-con-nexthop-before.cap bgp-con.cap bgp-in.cap bgp-no-nei.cap bgp-simple.cap DHCP Client.cap dot1x-error.cap dot1x-login.cap dot1x-logina.cap eapol or eap or nbns-dot1x.cap gmrp.cap gvrp...

    IC-CAP-教程.pdf

    IC-CAP-教程

    ADSL的核心技术CAP和DMT的比较

    CAP 是AT&T提出的调制方式,是一种无载波的正交幅度调制(QAM),数据信号在发送前被压缩,然后沿电话线发送,在接收端重组。CAP的主要优点为:载波频率可变,在一个频率周期或波特内传输2到9位二进制数据,因此在...

    Ctrl2cap Keyboard Filter

    ctrl2cap.exe /install" from install directory - RebootTo uninstall: - Run "ctrl2cap.exe /uninstall" from install directory - RebootTo build source: - Copy ddksrcinputincntddkbd.h to sys...

    CAP4加密分析软件

    CAP4加密分析软件,《经典密码学与现代密码学》一书中的示例软件,学习该书必备

    CAP文件解析

    在java中对.cap文件的解析。前提需要一个JCDK的工具包。在oracle官网中可以下载,搜索java card。我用的是:JCDK3.0.4_ClassicEdition。在bin中的scriptgen.bat中需要改动set JAVA_HOME=jdk的地址,我用1.6jdk的。...

    A Critique of the CAP Theorem.pdf

    The CAP Theorem is a frequently cited impossibility result in distributed systems, especially among NoSQL distributed databases. In this paper we survey some of the confusion about the meaning of CAP,...

    cap包、hc22000包wifi无线练手(含字典表)

    wifi无线破解cap包、hc22000包,hashcat练手专用

    AfuWin64Cap113ks.zip

    2. 双击运行文件夹【AfuWin64Cap】下的【F】文件 3. 程序自动运行,根据黑框提示按【任意键】后等待加载完成 按提示输出 【Y】,操作后只需等待自动更新重启即可.期间切勿按电源键及操作键盘鼠标等外设(如因非教程...

    Cap示例.rar_CAP模块的作用_STM320F28335_cap_cap程序 ccs_hungrylof

    程序说明了STM320F28335芯片下CAP模块的使用,程序中包含部分注释,可以快速根据程序学习CAP模块的运行过程

    cap转pcap格式的C实现

    Linux平台下cap格式数据包转成pcap格式(用Wireshark工具查看)数据包。

    WPA/CAP文件跑包工具高速跑包新版

    WPA/CAP无线跑包工具高速跑包、选择字典和CAP文件然后点开始跑包即可方便又简单小巧又实用速度超快,无广告无捆绑无毒软件绿色环保!

    CAP437-2021

    CAP437-2021

    MicroCap_12cd.zip

    MicroCap_12 已经开源免费,是一款用于模拟和数字电路原理图设计和仿真的软件。Micro-Cap为交互式设计和仿真电路提供电子环境。Micro-Cap不断扩展其功能。目前,该软件是一个现代化,简单,用户友好的界面和许多用于...

Global site tag (gtag.js) - Google Analytics