zoukankan      html  css  js  c++  java
  • 关于CAP理论

       早上在CSDN上看到一篇文章 介绍了分布式存储系统的几条原则,感觉CAP理论对于理解关系型数据库和NoSQL的优劣和分布式系统非常有帮助。

        CAP:Consistency、availability、Tolerance of network Partition即一致性、可用性和分区容忍性。

        一致性(C):任何一个读操作总是能读取到之前完成的写操作结果,也就是在分布式环境中,多点的数据是一致的;

        可用性(A):每一个操作总是能够在确定的时间内返回,也就是系统随时都是可用的;

        分区容忍性(P):在出现网络分区(比如断网)的情况下,分离的系统也能正常运行;

        对于分布式存储系统而言,分区容错性(P)是基本需求,因此只有CP和AP两种选择。CP模式保证分布在网络上不同节点数据的一致性,但对可用性支持不足,这类系统主要有BigTable, HBASE, MongoDB, Redis, MemcacheDB, Berkeley DB等。AP模式主要以实现"最终一致性(Eventual Consistency)"来确保可用性和分区容忍性,但弱化了数据一致性要求,典型系统包括Dynamo, Tokyo Cabinet, Cassandra, CouchDB, SimpleDB等。

        -------以下摘录:

        2000年Eric Brewer教授提出了著名的CAP理论,即:一个分布式系统不可能满足一致性,可用性和分区容错性这三个需求,最多只能同时满足两个。2002年MIT的Seth Gilbert 和 Nancy lynch两人证明了CAP理论的正确性。根据CAP理论,一致性(C),可用性(A),分区容错性(P),三者不可兼得,必须有所取舍。因此系统架构师不要把精力浪费在如何设计才能同时满足CAP三者的完美分布式系统,而是应该研究如何进行取舍,满足实际的业务需求。

  • 相关阅读:
    linux命令行打印图片
    linux 命令行打印二维码
    ReactNative DeviceEventEmitter
    python操作Excel的几种方式
    python 爬虫实例(二)
    各种软件安装的URL
    python 爬虫实例(一)
    eclipse的maven中需要把jar的包文件登入到自己的仓库里面的操作
    关于Maven项目build时出现No compiler is provided in this environment的处理
    eclipse和maven生成web项目的war包的操作方法
  • 原文地址:https://www.cnblogs.com/yako/p/1962043.html
Copyright © 2011-2022 走看看