SQL数据库和MongoDB中的事务有什么区别?

问题描述 投票:0回答:1

我读过很多文章,指出 sql 数据库的主要好处是事务机制。

但是从4.2开始,MongoDB支持分片中的ACID事务。

这些交易有什么区别?或者这是否意味着 MongoDB 以与 sql dbs 相同的方式支持事务,而现在 sql dbs 的好处只有一个 - 严格的数据结构?

sql mongodb transactions
1个回答
0
投票

事务对决:SQL 与 MongoDB

还记得伟大的数据库辩论吗?结构化 SQL 与自由流动的 MongoDB?嗯,你猜怎么着?他们现在都拥有了交易超能力!但在你跟上潮流之前,让我们先澄清一下误会。这些交易不是双胞胎。

SQL 为您提供支持(即跨架构)

想象一下像保镖一样的交易。在 SQL 中,它们是保护整个数据王国的强者——表、数据库、整个工具。他们保证无论如何一切都保持一致。但问题是:这些保镖有一定的领地意识。它们一次只能处理一个分片(认为是数据块)。因此,对于复杂、庞大的数据,它们可能不是最合适的。

MongoDB 的忍者动作(在分片内)

MongoDB 的事务更像是圆滑的忍者。它们快速、高效,并且在单个分片内运行。他们不会锁定一切,因此其他操作仍然可以顺利进行。但就像忍者一样,他们无法看到全貌。如果您的数据遍布各处,它们可能会错过冲突并导致一些数据故障。

在选择数据库冠军之前请阅读本文

那么,谁会赢得交易战呢?这要看情况!

SQL 在以下情况下大放异彩:

  • 您需要在所有方面都保持绝对的数据一致性。
  • 复杂的关系是数据的障碍。

MongoDB 在以下情况下占据统治地位:

  • 灵活性和速度是您的首要任务。
  • 您正在处理较小块(分片)的数据。

记住,SQL 中的“严格数据结构”并不是一件坏事。这就像拥有一个井井有条的文件柜——所有东西都很容易找到并且保持整洁。但如果您对不断变化的数据更具有自由精神,MongoDB 的灵活方法可能适合您。

最终,最好的数据库是符合您的特定需求和优先级的数据库。明智的选择,蚱蜢,祝你交易永远成功!

© www.soinside.com 2019 - 2024. All rights reserved.