2014-08-27 166 views
0

我想aggragate在3個不同級別的網站統計:每天MongoDB的最佳實踐結構

  • 統計
  • 統計每個廣告系列每來源
  • 統計每個廣告系列

在蒙戈什麼是推薦的(性能明智)來存儲,需要在下面的事情要檢索的數據:

{ 
    "somedate": { 
     "324": { 
      "count": 456, 
      "subcampaigns": { 
       "fff": { 
        "count": 45, 
        "sources": { 
         "s1": { 
          "count": 4 
         }, 
         "s2": { 
          "count": 41 
         } 
        } 
       } 
      } 
     } 
    } 
} 

預測是每天有〜1M和「來源」> 10K 在其他集合或子jsons中存儲會更好嗎? 是否有限制尺寸?

THX

+1

有沒有「正確」的方式做這樣的事情。應該做什麼取決於幾個因素。舉幾個例子:您訪問數據的主要方式是什麼?實例如何更好地擴展RAM?有多少應用程序服務器將訪問數據?讀寫比例是多少?那裏有幾個指數?一段時間後條目是否過期或者是否被手動刪除?多少次聚合運行?這些問題是隻有少數才能確定最佳數據建模,然後你的數據庫的建立要回答。你需要諮詢。 – 2014-08-27 09:21:45

回答

0

有16MB的限制,當你想要檢索的結果,而不在磁盤上寫。 允許在聚集磁盤使用情況減慢,當然,但如果你想保存的結果是能後提出要求,收集書面的結果顯然是最好的選擇。

通過,如果你想在啓動回地面地圖的請求的方式/減少可能是一個最好的解決方案,因爲它使用的方式更少的內存,相當透明與它的產量系統的工作原理。你甚至可以釘利用增量映射的減少,如果你想沒有一個巨大的成本(http://docs.mongodb.org/manual/tutorial/perform-incremental-map-reduce/)來更新數據。