我想弄清楚哪些是最好的選擇,爲我們的系統上的每個用戶存儲個人用戶日誌信息和一般元分析數據。收集每個用戶或用戶集合
最初的想法是有一個「探查器」集合,每個文檔將代表一個用戶。這種設計的問題在於,高級用戶在一年或更短的時間內可能會花費太多的元數據和歷史記錄,以至於超過文檔大小限制。它還會迫使文檔具有更深和更復雜的結構,這可能導致查詢速度變慢。
另一種設計思路是爲每個用戶創建一個集合,每個文檔將保存特定類型的分析歷史數據。這有幾個好處,即速度。當需要與其他用戶進行比較時(通過其他跟蹤數據庫可以解析),還會提出查詢挑戰。對於單個mongo數據庫包含多少個集合的問題,我找不到明確的答案。
如果它可以處理每個數據庫數以百萬計的收集然後太棒了,否則我需要找到更好的選項來建模這些數據。我是否以正確的方式去做這件事?
目標是保持用戶互動的歷史記錄,聲譽跟蹤,他們對時間的興趣,他們經常使用的功能等等,這可以提供更豐富的體驗。
收集用戶+索引可能是最好的方法。 – NPSF3000