首页 > 代码库 > 数据库CAP乱谈

数据库CAP乱谈

今天有人问我cap,找了https://my.oschina.net/lilw/blog/169776这片文字,

下面是cap那篇文字的解释:

所谓CAP理论,即:

Cosistency       数据的一致性

Availability      高可用性

Tolerance to newowrk Partitions    分区容忍性

 

一个数据存储系统不可能同时满足上述三个特性,只能同时满足其两个特性,也就是: CA,CP,AP。可以这么说,当前所有的数据存储解决方案,都可以归类的上述三种类型。

CA  满足数据的一致性和高可用性,但没有可扩展性,如传统的关系型数据,基本上满足是这个解决方案,如ORACLE , MYSQL 的单节点,满足数据的一致性和高可用性。

CP  满足数据的一致性和分区性,如Oracle RAC ,Sybase 集群。虽然Oracle RAC具备一点的扩展性,但当节点达到一定数目时,性能(也即可用性)就会下降很快,并且节点之间的网络开销很在在,需要实时同步各节点之间的数据。

AP 在性能和可扩展性方面表现不错,但在数据一致性方面会用牺牲,各节点的之间数据同步没有哪么快,但能保存数据的最终一致性。当前热炒的NOSQL大多类是典型的AP类型数据库。

以上是原文内容;

我却觉这解释有点不完全敢苟同,按照第一条ca组合下的描述,这个高可用性我认为应该是鲁棒性,

我跟这个所谓数据库的鲁棒性,就是比如在同一个实例同一个库的数据库,不管你是单表还是多表join,想怎么读怎么写都不是问题,我认为说这是可用性,很是牵强,因为第二条cp,rac,和

 

数据库CAP乱谈