Redis学习笔记(五)--分布式数据库CAP原理

传统数据库的ACID

Atomicity 原子性

事务里面的所有操作要么全部做完,要么都不做,事务成功的条件是事务里的所有操作都成功,只要有一个操作失败,整个事务就失败,需要回滚。

Consistency 一致性

数据库要一直处于一致的状态,事务的运行不会改变数据库原本的一致性约束。

Isolation 独立性

并发的事务之间不会互相影响,如果一个事物要访问的数据正在被另一个事务修改,只要另外一个事务未提交,他所访问的数据就不受未提交事务的影响。

Durability持久性

一旦事务提交后,他所做的修改将会永久的保存在数据库上,即使出现宕机也不会丢失

CAP

Consistency 强一致性
Availability 可用性
Partition tolerance 分区容错性

CAP的3进2

Redis学习笔记(五)--分布式数据库CAP原理_第1张图片
CAP理论的核心是:一个分布式系统不可能同时很好的满足一致性,可用性和分区容错性这三个需求,最多只能同时较好的满足两个。
因此,根据CAP原理将NoSQL数据库分成了满足CA原则,满足CP原则和满足AP原则的三大类:

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

由于当前的网络硬件肯定会出现延迟丢包等问题,所以“分区容错性是我们必须需要实现的”,所以我们只能在一致性和可用性之间进行权衡, 没有NoSQL系统能同时保证这三点。

BASE

BASE为了解决关系数据库强一致性引起的问题而引起的可用性降低而提出的解决方案。

基本可用(Basically Available)
软状态(Soft state)
最终一致(Eventually consistent)

通过让系统放松对某一时刻数据一致性的要求来换取系统整体伸缩性和性能上改观。

分布式和集群简介

分布式:不同的多台服务器上面部署不同的模块工程
集群:不同的多台服务器上面部署相同的模块工程

你可能感兴趣的:(Redis,数据库,Redis)