对于一个分布式计算服务来说,有个CAP原理,包含三个最重要的属性:相容性(Consistency),读操作是否总能读到前一个写操作的结果,即是说在分布式环境中,多点读出的数据是否相容。可用性(Availability),访问数据的性能。分区容忍性(Partition tolerance ),数据的分区特性,对系统性能的影响程度
对于一个分布式计算系统来说,这三个属性非常重要。因此,计算机科学家们一直在拼尽全力地寻找一种方法,能够实现同时满足CAP三者的完美分布式系统。但是就在大家都忙得热火朝天的时候,2007年,如同当年的哥德尔一样,Brewer教授站出来指出:CAP永远不可能同时满足,提高其中任意两者的同时,必然要牺牲第三者。这就是Brewer的CAP定理,后来由麻省理工学院的两位科学家证明。这个定理告诉大家,不要再浪费时间去研究如何兼顾了,因为这根本就是不可能的,只能根据具体应用,来决定如何在三者之间进行取舍。CAP理论为很多巨型的数据中心,尤其是现在很多的SNS网站提供了有力的理论指导,比如说Google的BigTable系统就是一个牺牲了A的典型例子