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

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加密分析软件,《经典密码学与现代密码学》一书中的示例软件,学习该书必备

    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文件解析

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

    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