如何为您的应用程序选择Cassandra,MongoDB和MySQL中的正确数据库。
在本文中,我比较了Cassandra,MongoDB和MySQL数据库中的ACID属性,CAP属性和其他功能,以帮助您为应用程序选择正确的数据库。选择正确的数据库主要取决于应用程序的需求。选择数据库时需要考虑许多因素。在本文中,我主要关注事务方面。
Cassandra:一种以无模式方式存储数据的键值存储。
MongoDB:一个文档数据库,扩展了键值存储的基本思想。
Mysql:一个关系数据库管理系统。
首先,我们来看看ACID的可支持性。
什么是ACID?
ACID:一组保证数据库事务可靠的属性。ACID代表原子性,一致性,隔离性和耐久性。ACID属性是数据库的重要组成部分。
通常,大多数关系数据库都支持所有ACID属性。但是,NoSQL数据库对ACID有不同程度的支持。Cassandra和MongoDB是NoSQL数据库,而MySQL是SQL数据库。
什么是CAP定理?
一个描述物理定律如何规定分布式系统必须在所需特征之间进行权衡的定理.CAP代表一致性,可用性和分区容差。
通常,大多数数据库支持两个CAP属性。
有些数据库会努力支持这三种数据库,但它们仍然以某种方式对它们进行优先级排序。例如,Cassandra提供高可用性和分区容错,并且还使用最终一致性支持一致性。如果您正在寻找高可用性和一致性,那么MySQL可能是正确的选择。MongoDB支持分区容差和一致性。MongoDB在某种程度上也支持可用性。
最后,让我们比较其他属性
结论
重要的是要了解您的应用程序的需求。然后,检查哪个数据库与您的要求非常匹配。有时,您可能无法找到可以支持所有要求的综合数据库。在这种情况下,您可能需要权衡某些事项以实现您的首要任务。
领取专属 10元无门槛券
私享最新 技术干货