2012-11-14 45 views
2

我建立我在哪裏跟蹤用戶活動的變化和展示活動日誌給用戶的應用程序。這裏有幾點:的MongoDB Vs的甲骨文的實時搜索

  1. 每天插入1億條記錄。
  2. 這些記錄將被立即索引並在搜索結果中可用(幾秒鐘內)。
  3. 用戶可以過濾暴露的10個字段中的任何一個的記錄。

回答

1

我覺得蒙戈和Oracle都不會完成你所需要的。我建議從主數據存儲卸載搜索組件,可能像ElasticSearch:

http://www.elasticsearch.org/

1

我的建議是ElasticSearch作爲主用例是「過濾器」(Facets在ElasticSearch)和搜索。它是按比例放大(否則Lucene也是好的)並記住大數據。

0

每天1億條記錄聽起來像您需要一個快速增長的服務器場來存儲數據。我不熟悉Oracle如何分發這些數據,但對於MongoDB,您需要根據您的搜索查詢所使用的字段(包括10個用於過濾的字段)來分割數據。如果你只用分片鍵進行搜索,MongoDB足夠聰明,只能擊中包含正確分片的機器,所以它就像在一臺機器上查詢一個小型數據庫以獲得你需要的東西。另外,如果碎片密鑰可以放入羣集中每臺機器的內存中,並且使用MongoDB的btree索引編制索引,那麼您的查詢就會很快。