通俗理解cap理论(CAP定理)
通俗理解cap理论(CAP定理)如果Apache Cassandra并非为保持一致性而构建,那么分析流程不会中断吗?根据CAP定理,数据库实际上只能保证CAP中三分之二。因此,支持可用性和分区容忍是有意义的,因为可用性和分区容忍是最大的要求。生产系统需要使用以下哪种组合一致性和可用性,一致性和分区容限或可用性和分区容限?正如CAP定理在Wikipedia上所说的那样:“ CAP定理意味着在存在网络分区的情况下,必须在一致性和可用性之间进行选择。” 因此,在分布式数据库中没有一致性和可用性之类的东西,因为它必须始终容忍网络问题。您只能具有一致性和分区容限(CP)或可用性和分区容限(AP)。记住,关系数据库和非关系数据库做的事情是不同的,这就是为什么大多数公司都使用两种类型的数据库系统。Cassandra是否在 CAP 定理中仅满足可用性和分区容限?
- 一致性(Consistency):从数据库中读取的每个数据都会获取最新(且正确)的数据或错误
- 可用性(Availability):收到每个请求并给出响应-不能保证数据是最新更新
- 分区容限(Partition Tolerance):无论节点之间是否失去网络连接,系统都可以继续工作
常见问题:
根据ACID原则,最终一致性是否与SQL数据库所承诺的相反?
关于如何在 ACID 原理和CAP定理中解释一致性的文章很多。ACID原则中的一致性是指仅将遵守约束和数据库规则的事务写入数据库,否则数据库保持先前的状态。换句话说,所有行和表中的数据都应该正确。但是,CAP定理的一致性是指从数据库中读取的每个数据都获取最新的数据或错误。
要了解更多信息,您可能会发现此讨论有用:
- 关于ACID与CAP的讨论
生产系统需要使用以下哪种组合一致性和可用性,一致性和分区容限或可用性和分区容限?
正如CAP定理在Wikipedia上所说的那样:“ CAP定理意味着在存在网络分区的情况下,必须在一致性和可用性之间进行选择。” 因此,在分布式数据库中没有一致性和可用性之类的东西,因为它必须始终容忍网络问题。您只能具有一致性和分区容限(CP)或可用性和分区容限(AP)。记住,关系数据库和非关系数据库做的事情是不同的,这就是为什么大多数公司都使用两种类型的数据库系统。
Cassandra是否在 CAP 定理中仅满足可用性和分区容限?
根据CAP定理,数据库实际上只能保证CAP中三分之二。因此,支持可用性和分区容忍是有意义的,因为可用性和分区容忍是最大的要求。
如果Apache Cassandra并非为保持一致性而构建,那么分析流程不会中断吗?
如果我要进行分析,例如确定一段时间内的趋势,例如约翰在Twitter上有多少个朋友,以及由于“最终一致性”而使您的人数减少了(数据可能无法及时更新)。从理论上讲,这可能是个问题,但前提是您不经常更新。如果管道从一个节点提取数据并且尚未更新,那么您将不会获得它。在Apache Cassandra中,它是最终一致性的,以下是关于最终一致性的定义。