16

我对数据库真的很陌生,对一些高级基础知识很感兴趣。我读过这篇精彩的 SO 帖子。在某些情况下,我在一个之下比另一个更好,但不知道为什么。

  1. 为什么 MySQL 在连接操作上比 MongoDB 快?

  2. 为什么 MongoDB 在分布式系统中的扩展性更好?

  3. 如果我“只是选择一堆表并将所有对象放在一起,也就是大多数人在 Web 应用程序中所做的事情”,为什么 MongoDB 会更快?

非常感谢!

4

1 回答 1

21

这个问题缺乏任何真正的研究,我的意思是您说您阅读了该问题,但是该问题的信息来源存在一些实际问题,或者……嗯;反正:

为什么 MySQL 在连接操作上比 MongoDB 快?

因为它没有?MongoDB 没有服务器端连接。我很抱歉把它放在大写字母中,但我经常这么说,我只是想把它作为大多数问题的事实答案。

您所做的任何连接都是客户端。这意味着它们实际上会比 MySQL 或其他 SQL 技术慢。连接客户端背后的重要思想是,在服务器端进行连接变得非常难以在巨大的分布式环境中扩展,如果不是不可能的话。这就是为什么许多大 SQL 用户实际上试图阻止大量连接,并有效地尝试在 SQL 中做 MongoDB 所做的事情。

当然,这种情况取决于场景。

为什么 MongoDB 在分布式系统中的扩展性更好?

http://docs.mongodb.org/manual/replication/在这里非常重要,http://docs.mongodb.org/manual/core/sharded-clusters/ 也是如此我建议您仔细阅读它们以及它们是如何扩展到数据分区等等。

如果我“只是选择一堆表并将所有对象放在一起,也就是大多数人在 Web 应用程序中所做的事情”,为什么 MongoDB 会更快?

我不知道你那是什么意思。

我意识到这不是一个答案,但你的问题是那些事实上的问题之一,所以我回答了一个事实上的答案。

由于您通常是数据库新手,因此我个人建议您使用一个...

于 2013-06-10T07:19:19.180 回答