全栈工程师修炼指南

尺有所短,寸有所长:CAP和数据存储技术选择

2020-11-26  本文已影响0人  码农架构

理解概念

CAP 的概念

CAP 理论,又叫做布鲁尔理论(Brewer’s Theorem),指的是在一个共享数据的分布式存储系统中,下面三者最多只能同时保证二者,对这三者简单描述如下:

进一步理解

保持一致性:

image.png

发生分区:

image.png

三选二 ?

CAP 的应用似乎就是一个三选二的选择题,但事实上,完全不是这样的。

需要特别说明的是,这里说的是只能“保证”一致性和可用性二者之一,而不是说,在系统正常运行时,二者不可能“同时满足”。在系统运行正常的时候,网络分区没有出现,那么技术上我们是可能同时满足一致性和可用性两者的。

是否存在 CA 系统?

有!但请注意,那其实已经不是 CAP 理论关心的对象了,因为 CAP 要求的是节点间的数据交换和数据共享。任何时候都不会有分区发生,这种系统基本上有这样两种形式:

存储技术的选择:NoSQL 三角形

它被设计出来的目的,并非要取代关系数据库,而是成为关系数据库的补充,即“Not Only SQL”。

我们可以利用 CAP 定理来权衡和帮助选择合适的存储技术,且看下面这张 NoSQL 系统的 CAP 三角形

image.png

实际场景

从特性上说,甚至可以部分特性做到 CP,部分做到 AP,这都是有可能的。

公众号:码农架构
上一篇 下一篇

猜你喜欢

热点阅读