写点什么

一期二班 - 吴水金 - 第六课作业

用户头像
吴水金
关注
发布于: 2020 年 11 月 25 日

什么是CAP原则?

有别于关系型数据库系统,分布式。数据库存储系统由于其软件和硬件架构的物理特性,都必须遵循CAP原则。CAP原则包含三个方面的特性:

C:一致性(Consistency)

A:可用性(Availability)

P:分区耐受性(Partition tolerance)

一致性

在分布式数据库系统中,一个数据库系统由多台数据库服务器共同对外提供服务,为实现在某台服务器意外宕机的情况下仍能保证系统的高可用,通常会采用主从复制的方式将写人的数据在多台服务器上进行备份。一致性指的是当用户查询某条记录时,所有服务器上关于该记录的数据都是一致的,如果不一致,则不返回数据给用户。

可用性

在一个数据库集群中,如果某个节点或某几个节点宕机,系统仍然能够响应用户正常的读写操作。此特性称为可用性。

分区耐受性

在分布式数据库系统中,数据通过网络进行同步。如果因为网络故障,在有限的时间内无法通过同步保证各服务器节点的数据的一致性,那么此时我们认为数据库系统出现了分区。分区即是说,出现了数据不一致的节点,这些节点可以称为区。在这种情况下,系统要么满足一致性,要么满足可用性,而无法同时都满足。



BASE原则

由于CAP原则的三个特性无法同时满足,因此在设计分布式数据库系统时就必须做出权衡,什么时候该偏向一致性,什么时候该多考虑可用性。BASE原则即是人们在权衡和考量之后在业界较为认可的实现CAP的基本原则。包含三个方面:Basically Available(基本可用),Soft state(软状态),Eventually consistent(最终一致性)。



Basically Available(基本可用)

如果集群中的某台服务器宕机,并不影响系统整体对外提供服务。系统将该服务器处理的请求分摊到其他服务器节点上,这样可能增加其他服务器节点的压力,造成响应时间延长。但是保证系统基本可用。



Soft state(软状态)

即中间状态,由于网络延时,数据库节点之间的同步允许一定的延时,在此期间并不影响系统对外提供服务。



Eventually consistent(最终一致性)

各中从服务器中的数据备份,由于存在同步延时,并不要求各服务器之间实时同步,这也不现实。而经过一系列的同步操作后,系统最终能达到数据一致性。



发布于: 2020 年 11 月 25 日阅读数: 19
用户头像

吴水金

关注

初级架构师 2019.12.01 加入

热情开朗,乐于分享。

评论

发布
暂无评论
一期二班-吴水金-第六课作业