FS全栈计划Java 杂谈

分布式数据库与C.A.P.

2019-07-25  本文已影响1人  MaxZing
图片来自网络

任何一个分布式数据库产品都无法达到C.A.P特点俱全,这是目前的结论。但是这个不代表这个只能三取其二,二是在3者中间找平衡点。

那么首先介绍一下,CAP是什么

组合

CP (一致性+容错性) —— 首先这个看起来很奇怪,其实是CP指的是仅在网络分区(存在互不可达的节点)的情况下牺牲可用性。

CA (一致性+可用性) —— 一般指没有网络分区的的分布式服务,单节点虽然没有网络分区,但是不是分布式范畴内的。

AP (可用性+容错性) —— 这种是指存在网络分区的分布式节点,可以做到可用性,但做不到实时一致性。

常用数据库的划分

从网上盗来一张图,是主流数据库的 CAP倾向

针对数据的特性,选择相应的数据库,非常重要。

注意事项

对于一个分布式系统来说,CAP三者中,Partitioning是基本要求,只能通过基础设施提升,无法通过牺牲Consistency和Availability 某个,或者同时牺牲两个来提高。
基本要求满足了,Consistency和Availability直接可以根据具体要求权衡实现。


喜欢请点个赞
转载请注明出处:https://www.jianshu.com/u/4915ed24d1e3
如有错误,请务必不吝指正。谢谢
我的博客:https://xzing.github.io/

上一篇下一篇

猜你喜欢

热点阅读