NoSQL随手记1

最近在学习db相关的知识, 随手作了一些总结, 方便之后查阅:数据库

 

在此以前, 我所知道的数据库模型都是关系型数据库系统,简称RDMBS, 它遵循的是ACID原则。并发

A是指原子性(Atomicity), 事物之间的原子性是指全部操做要么作完, 要么都不作。分布式

C是指一致性(Consistency), 事物的运行不会改变数据库本来的一致性。性能

I是指独立性(Isolation),是指并发的事物之间不会影响。学习

D是指持久性(durability), 是指事物一旦提交后, 所作的修改将会永远保存在数据库上,即便出现宕机也不会消失。事务

 

NoSQL,指的是非关系型的数据库。NoSQL有时也称做Not Only SQL的缩写,是对不一样于传统的关系型数据库的数据库管理系统的统称。ci

NoSQL用于超大规模数据的存储。(例如谷歌或Facebook天天为他们的用户收集万亿比特的数据)。这些类型的数据存储不须要固定的模式,无需多余操做就能够横向扩展。rem

 

RDBMS vs NoSQL

RDBMS
- 高度组织化结构化数据
- 结构化查询语言(SQL) (SQL)
- 数据和关系都存储在单独的表中。
- 数据操纵语言,数据定义语言
- 严格的一致性
- 基础事务文档

NoSQL
- 表明着不单单是SQL
- 没有声明性查询语言
- 没有预约义的模式
-键 - 值对存储,列存储,文档存储,图形数据库
- 最终一致性,而非ACID属性
- 非结构化和不可预知的数据
- CAP定理
- 高性能,高可用性和可伸缩性it

CAP定理(CAP theorem)

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

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

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

所以,根据 CAP 原理将 NoSQL 数据库分红了知足 CA 原则、知足 CP 原则和知足 AP 原则三 大类:

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

cap-theoram-image

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

 

ACID BASE
原子性(Atomicity) 基本可用(Basically Available)
一致性(Consistency) 软状态/柔性事务(Soft state)
隔离性(Isolation) 最终一致性 (Eventual consistency)
持久性 (Durable)
相关文章
相关标签/搜索