问题标签 [cap-theorem]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
5412 浏览

apache-zookeeper - ZooKeeper 在 CAP 定理方面总是一致的吗?

ZooKeeper 始终是 CP 是否正确(根据 CAP 定理)?或者无论如何将它用作服务发现需求的AP?

0 投票
4 回答
18089 浏览

distributed-computing - 为什么 CAP 定理中的 RDBMS 分区不能容忍,为什么它可用?

我不明白 RDBMS 在 CAP Theorem 中是 CA 的两点:

1) 它说 RDBMS不是 Partition Tolerant,但是 RDBMS与 MongoDB 或 Cassandra 等其他技术相比,Partition Tolerant怎么办?是否存在我们放弃 CA 以使其成为 AP 或 CP 的 RDBMS 设置?

2) CAP 的可用性如何?是通过主从设置吗?就像主人死后,奴隶接管写入一样?

我是 DB 架构和 CAP 定理的新手,所以请多多包涵。

0 投票
0 回答
112 浏览

database-partitioning - NoSQL CAP 定理 - 分区、可用性和一致性

各位,

最近我试图理解CAP 定理,但我发现很难理解它是如何用于:

  1. 处理分区,
  2. 可用性,
  3. 一致性。

我已经阅读了很多文章和科学论文,但仍然很难理解这些问题。一个清晰简洁的解释将不胜感激。

0 投票
2 回答
372 浏览

aerospike - Aerospike 是否提供没有冲突可能性的 CP 模式

目前我正在为我的项目评估 Aerospike。我需要简单的键/值存储,具有强一致性(在任何情况下都不能发生值版本冲突),并且对于不适合 RAM 的数据大小具有最大化的持久性(数据丢失是极其有害的)。Aerospike 似乎是最合适的选择之一。我唯一担心的是是否真的支持强一致性。

根据 Aerospike 白皮书https://www.aerospike.com/docs/architecture/assets/AerospikeACIDSupport.pdf不支持 CP 模式:

为了让 Aerospike 能够在更多的域中使用,我们计划在现在支持的 AP 模式之外,添加一个配置,用于在 CP 模式下运行集群

同时,Aeospike 提供了不同的一致性保证http://www.aerospike.com/docs/architecture/consistency.html但尚不清楚例如 write.commit_level=all 是否会使不一致变得不可能,因为它更多的是关于耐久性而不是一致性。

那么有没有办法在单个 DC/区域部署中在任何情况下(例如副本故障、集群分区、网络延迟等)使用 Aerospike 集群而不会发生值冲突?在这种情况下,配置应该如何?

0 投票
0 回答
74 浏览

network-programming - 为什么 CAP 定理很有趣?

CAP 定理在数学上有什么有趣的地方吗?查看证明,对于两种形式的两种不同陈述似乎有四种不同的情况。CAP 定理在这三种微不足道的情况下成立,而在第四种情况下则不成立。所有这些都使用极其迂回的证明技术来表达非常简单的东西。

3.1 Thm 1. 如果两台机器没有任何通信,它们就不能包含一致的数据。

3.1 推论 1.1 如果两台机器不允许等待接收对方的消息,并且它们之间的通信线路任意慢,如果你写一个,然后立即查询另一台,你会得到不一致的结果。

4.2 Thm 2. 如果允许等待超时的两台机器没有任何连接,它们仍然不能包含一致的数据。

...但是如果它们之间的通信线路有关于最坏情况传输时间的保证,那么您可以在每次执行写入时等待超时并且 CAP 定理不适用。

我在这里错过了什么吗?论文中使用的证明技术似乎更像是您在山上将军问题(这是不平凡的)中发现的那种东西,将军们可以设定一个时间来协调他们的攻击并同意他们要去去做,但他们不能同意他们同意。但我只是看不出这如何适用于此。

0 投票
1 回答
60 浏览

distributed-system - 只有分布式系统遵循 CAP 定理吗?

我在互联网上的某个地方读到该定理是描述任何分布式系统的一组基本要求。请帮助我理解该定理仅适用于分布式系统吗?

0 投票
1 回答
40 浏览

distributed - 我的分布式数据库是 C+A 还是 A+P?

让分布式数据库有一个恢复机制,例如,如果它被一个允许双方继续工作的网络分区分割,双方继续提交事务,当分区结束时,他们同意回到上一个共同状态。

我们应该说这个系统:

  • 是 A+P,因为它有一个内置的(不是很聪明的)机制来处理分区,并且一致性被我们可以拒绝已经完成的提交这一事实破坏了?
  • 是 C+A,因为它并没有真正处理分区,并且状态始终是一致的(从未记录过混合的怪事)?
  • 另一个更复杂的选择?
0 投票
0 回答
19 浏览

mysql - 使用 READ_UNCOMMITED/DIRTY 隔离会减少大多数 RDMS 开销吗?

我试图找出 RDMS 相对于 BASE 数据库的开销,以保持数据的一致性、原子性和事务性。我只是好奇,使用READ_UNCOMMITED/DIRTY隔离会减少大部分 RDMS 开销吗?如果不是,为什么不呢?

0 投票
1 回答
1951 浏览

oracle - Oracle RDBMS 在 CAP 定理中处于什么位置?

Oracle RDBMS 在 CAP 定理中处于什么位置?

  1. 我相信它提供了一致性和可用性(通过副本和热/备用数据库)并且它对分区的容忍度非常低。

  2. Oracle 中的数据库分区概念与 CAP 定理中定义的分区容错无关。

有人可以验证我的理解是否正确吗?

0 投票
2 回答
1497 浏览

mongodb - 需要简单解释仲裁者在给定 mongoDB 副本集中的角色

我遇到了 MongoDB 官方网站,解释了设置奇数个成员副本。我还从同一个站点听说过 Arbiter 这个词,根据我的理解,它不会被选为主要的,它会参与选举(来自https://docs.mongodb.com/manual/core/replica-set -仲裁者/)。

为什么我们在 MongoDB 复制中需要一个“仲裁者”中也有一篇与仲裁者相关的帖子?然后与 CAP 定理有关,这进一步使事情变得更加复杂。

首先,为什么我们需要使成员数为奇数?另外,有人可以用简单的外行英语向我解释这个仲裁器是什么以及它在给定副本集中的作用是什么?

提前致谢。