什么是CAP模型? CAP 代表一致性、可用性、分区容错性。该理论指出,在分布式数据存储中,只能以最佳方式实现其中三个特征中的两个。 该模型由 Eric Brewer 于 2000 年开发,作为一个定理,指出分布式数据库系统中这三个因素之间存在固有的折衷。 例如,我们可以具有一致性和分区容错性,但它们会以牺牲数据库管理系统的可用性为代价。 更具体地说,以下是我们所说的每个特征的含义: 一致性——无论从系统中的哪个节点检索数据,都会返回相同的数据——所以总的来说 Back link : 葡萄牙手机号码清单 我们在分布式计算中拥有一个一致的系统。 可用性- 每个请求都会返回数据,即使系统中的一个或多个节点发生故障也是如此。 分区容错性——即使由于网络分区或节点故障而导致各个节点之间的通信中断,整个系统仍然可以继续工作。 在写入操作被视为完成之前,通过立即将更改复制到所有其他节点来实现一致性。在实践中,可用性意味着系统中的所有工作节点都必须返回有效的响应。 分区容错可以通过不同的方式实现 - 例如将系统的某些部分指定为只读或允许节点独立运行,然后在解决中断后重新同步。

请记住,重点是我们只能针对其中三分之二进行优化。我们总是需要在其中之一上做出妥协。 我们还应该再次强调 CAP 定理适用于分布式系统。但这些是什么? 基本上,我们在这里指的是跨多个节点(可能是物理位置、虚拟机或容器)而不是在单个数据库中存储数据的任何系统。 这不仅限于大数据或物联网等高级用例。 相反,几乎所有基于云的 Web 应用程序都符合分布式系统的定义。因此,在开始构建 Web 应用程序之前,必须充分理解 CAP 定理。 稍后我们将回到如何围绕特定数据库做出决策。 数据准确性 (埃德Q ) 什么是 ACID 模型? 不过,首先让我们看看我们想要了解的另一个模型。ACID是一组规则,旨在在事务期间出现问题时确保数据的有效性。 这些规则是: 原子性- 事务的所有部分都必须成功,否则整个事务都会失败 - 无论是读取操作、写入操作还是更复杂的功能。 一致性——只有遵循指定的内部规则的交易才能完成。 隔离性——事务可以同时发生而不会相互影响。 持久性- 成功交易后保存数据。即使发生断电或其他网络故障,系统也会继续运行。 我们编写了专门的ACID 合规性指南 ,您可以在其中了解有关每项原则的更多信息。 现在,我们主要关注这与 CAP 定理有何不同。