繁体   English   中英

MongoDB存储大关键字表查询性能

[英]MongoDB Storing Large Keywords Table Query Performance

我需要存储一个包含大量关键字对象示例的集合:

{ key: "tokyo", someMeta: "meta.." }

db.keyword.createIndex({ key: 1 }, { unique: 1 })

我将其用作查找字典,因此将非常频繁地调用它。

据我了解,这种查找需要O(log n)的复杂性,因此从HashSet O(1)进行查找的速度并不快。

我应该使用此索引查询来执行执行查找,还是应该查询集合中的所有对象,将其放入HashSet中,然后从该哈希集中进行查找?

假设我在该集合中有超过一百万个对象。

大约一年前,我已经对同一任务进行了基准测试。 瓶颈不是B树(因为某些DBMS允许创建HASH索引),而是jdbc驱动程序,网络堆栈等。

Java的本机Hashmap比Oracle / MySQL(即使有内存表),Postgres,Mongo快300-500 ++倍,它们都位于同一服务器上。

与内存Mysql相比,Hashmap还需要两倍的LESS内存。

对于具有300万条记录的地图,Hashmap大约需要1GB的RAM。

而且,令人惊讶的是,Mongo并不是所有的最快。 我期望Mongo在DBMS中扮演领导角色

RAM消耗的赢家是PostgreSQL和MySQL均拥有350MB,Mongo 650MB。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM