gpt4 book ai didi

java - 安全模式下的 MongoDB 性能

转载 作者:可可西里 更新时间:2023-11-01 10:01:26 24 4
gpt4 key购买 nike

在 Java 驱动程序中将 WriteConcern 标志设置为 SAFE 如何影响 MongoDB 性能?

最佳答案

显着减慢速度(如您所料)。

如果没有“SAFE”标志,MongoDB 驱动程序将以“即发即弃”模式运行。所以 update 命令被发送到服务器,然后驱动程序继续。如果写入错误或服务器在更改发生之前死机,则客户端对此一无所知。

使用“SAFE”标志,驱动程序执行update 命令和getLastError() 命令。在更新实际发生在数据库上之前,第二个命令不会完成。至少,您发送的是两个命令而不是一个(所以它慢了 50%)。

根据我的经验,它实际上要慢 5 到 20 倍。当然,这是有道理的,因为实际写入数据是整个过程中较慢的部分。

请注意,如果没有 SAFE 标志,某些异常将永远不会发生。例如,您永远不会遇到重复键异常。

如果您打算将 MongoDB 用作典型的数据库(类似于 MySQL),您至少需要使用“SAFE”模式和副本集。否则,您需要带有单个框的“JOURNAL”模式。如果您使用 JOURNAL 模式,您会注意到性能开始看起来很像常规 SQL。

关于java - 安全模式下的 MongoDB 性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10543061/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com