分布式数据存储的CAP理论的理解

分布式如今是很流行的名词,尤为分布式数据处理领域,随着海量数据的产生,你们都在研究更高效、可扩展性好、高可用性的数据存储系统,虽然你们想尽各类办法,基本上尚未什么产品能超越分布式数据库的CAP原理。 数据库

所谓CAP理论,即: 网络

Cosistency       数据的一致性 架构

Availability      高可用性 分布式

Tolerance to newowrk Partitions    分区容忍性 性能

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

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

CP  知足数据的一致性和分区性,如Oracle RAC ,Sybase 集群。虽然Oracle RAC具有一点的扩展性,但当节点达到必定数目时,性能(也便可用性)就会降低很快,而且节点之间的网络开销很在在,须要实时同步各节点之间的数据。 产品

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

综合上述,架构师不要企图设计一套同是知足CAP三方面的数据库。只能在根据业务场景,对数据存储要求有所折衷。 io

相关文章
相关标签/搜索