MongoDB哈希索引与升序索引相比没有性能优势吗?

jogvjijk  于 2023-08-04  发布在  Go
关注(0)|答案(1)|浏览(166)

我在某个地方听说,与其他dbms的散列索引不同,MongoDB的散列索引在内部使用b树,因此与普通的升序索引相比没有性能优势。我很震惊,但很快我注意到那篇文章中的MongoDB版本是3.4。

我的问题:

  • 现在Mongodb版本6仍然是这样吗??还是增强了?
  • 如何证明哈希索引在内部是如何工作的?
  • 我是否必须使用其他存储(如redis)以获得更好的性能?
2w2cym1i

2w2cym1i1#

我明白你的困惑来自哪里,但在回答你的问题之前,有一件更重要的事情值得注意。
MongoDB中的散列索引被添加用于特定目的,在使用分片时有效地跨分片分发数据。这就是他们使用“B树”结构的原因,因此他们可以有效地将树枝用作碎片。
有了这个问题,让我们来回答你的问题:
现在Mongodb版本6仍然是这样吗??还是增强了?
是的,这将保持这种情况,因为它们是以这种方式设计的(如上所述)。
如何证明哈希索引在内部是如何工作的?
不知道如何回答这个问题,MongoDB是开源的,如果你愿意,你可以自己深入研究源代码。你可以相信我:)
我是否必须使用其他存储(如redis)以获得更好的性能?
这是一个非常宽泛的问题,一般来说,像Redis这样的内存数据库会比“标准”数据库给予更好的性能,因为它们有网络开销。然而,在内存中,数据库有自己的问题,“标准”数据库没有。
此外,它们通常具有较少的功能,因为它们“更简单”。
如果我们对您试图解决的问题、您设计的架构和数据的规模有一个正确的描述,那么就可以更容易地建议哪个数据库适合您的需求。

相关问题