亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

mongodb表查詢問題?

mongodb表查詢問題?

慕慕森 2018-08-21 11:14:23
mongodb一個collection里存了日志,現在要進行統計分析。因為是記錄日志,所以經常插入信息,也就沒有索引。但是分析查表的時候沒有索引又特別慢。想問下有沒有什么好的方法。暫時2000W數據量。
查看完整描述

2 回答

?
白豬掌柜的

TA貢獻1893條經驗 獲得超10個贊

要么加索引,要么換elasticsearch或hbase。建議盡早換elasticsearch

查看完整回答
反對 回復 2018-08-26
?
慕斯王

TA貢獻1864條經驗 獲得超2個贊

通常來說索引對寫性能不應該有十分明顯的影響,當然如果你需要加的索引很多,那另當別論。如果沒有試過,建議先試一下你需要的索引到底帶來多大副作用,是否在接受范圍內。如果在,那很好,問題解決。如果不能接受,那可以考慮下面兩個方案:

  1. 使用sharding進行改造。
    你應該已經知道sharding是什么了,不多做解釋。這個方案帶來的問題顯然就是服務器數量會有明顯增加,這也是水平擴展的必然結果。長遠來看,如果你的業務向前發展,這也是必經的道路,所以可以早做打算。

  2. 在不同的復制集結點上創建不同的索引
    如果你現在還在用單結點運行,那建議趕緊升級到復制集。單結點硬件故障丟了數據找不回來的案例比比皆是,不要等發生了再后悔。在復制集的前提下,每個結果是可以單獨建立不同的索引的。

    1. 停止結點

    2. 以不同的端口去掉復制集配置后啟動

    3. 在這個結點上構建你所需要的索引

    4. 以原配置重新啟動

需要注意的是復制集仍然要完成主結點上所有的寫操作,所以索引太多仍然可能造成問題。一切還是要你自己親測得出結論。


查看完整回答
反對 回復 2018-08-26
  • 2 回答
  • 0 關注
  • 865 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號