syncnavigator

在本文中,我比较了卡桑德拉
,MongoDB

和的My的SQL

数据库之间的酸
属性,CAP属性和其他功能,以帮助您为应用程序选择正确的数据库。
选择正确的数据库主要取决于应用程序需求。
选择数据库时需要考虑许多因素。在本文中,我主要关注事务方面。

卡桑德拉
:键值存储,以无模式的方式存储数据。

MongoDB:一个文档数据库,扩展了键值存储的基本概念。

的MySQL

:关系数据库管理系统。

首先,让我们看一下ACID的可支持性。

ACID:一组保证数据库事务可靠的属性。
ACID代表原子性,一致性,隔离性和耐久性。
ACID属性是数据库的重要组成部分。

通常,大多数关系数据库都支持所有ACID属性。
但是,没有
SQL

数据库具有对ACID的各种级别的支持。
卡桑德拉
和MongoDB是没有
SQL数据库,而MySQL是SQL数据库。

数据库 数据库类型 原子性 一致性 隔离 耐用性
Cassandra 没有
SQL
写操作在分区级别是原子的 最终/可调 行级 写是持久的
MongoDB 没有
SQL
支持单文档原子性 支持 可调式 支持多种耐用性选择
MySQL SQL InnoDB Storage Engine支持事务原子性 InnoDB使用一种称为doublewrite的文件刷新技术 提供不同级别的隔离 可以使用可配置的参数进行调整

一个定理,描述了物理定律如何指示分布式系统必须在理想特性之间进行权衡。
CAP代表一致性,可用性和分区容限。

通常,大多数数据库支持两个CAP属性。

如何为您的应用程序1选择正确的数据库

一些数据库努力支持这三个数据库,但是它们仍以某种方式确定它们的优先级。
例如,Cassandra提供了高可用性和分区容限,并且还使用最终一致性来支持一致性。
如果您正在寻找高可用性和一致性,那么MySQL可能是正确的选择。
MongoDB支持分区容忍度和一致性。
MongoDB在某种程度上也支持可用性。

最后,让我们比较其他属性

物产 Cassandra MongoDB MySQL
交易回滚 没有
写得更快 没有
锁紧机构 没有
表联接 No No
精通建筑 No No

重要的是要了解您的应用程序的需求。
然后,检查哪个数据库与您的需求紧密匹配。
有时,您可能找不到能够满足您所有需求的全面数据库。
在这种情况下,您可能必须权衡某些事项才能满足您的首要任务。

相关文章:

  • 2021-12-01
  • 2021-12-25
  • 2022-12-23
  • 2021-12-23
  • 2021-04-30
  • 2021-11-19
  • 2021-11-11
猜你喜欢
  • 2021-11-27
  • 2022-01-09
  • 2021-05-31
  • 2021-11-21
  • 2022-01-11
相关资源
相似解决方案