[英]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.