1
我正在設計一個服務,其中每個經過驗證的用戶都使用自己的一組對象/文檔,因此用戶帳戶是完全獨立的。如果我將收藏分成單獨的每個用戶的收藏或數據庫,是否有意義?它會給我速度或安全優勢嗎?還是應該將文檔合併到一起,讓索引和分片爲我完成這項工作?使用Mongo進行建模時,我應該將用戶帳戶分爲獨立的集合還是數據庫?
我正在設計一個服務,其中每個經過驗證的用戶都使用自己的一組對象/文檔,因此用戶帳戶是完全獨立的。如果我將收藏分成單獨的每個用戶的收藏或數據庫,是否有意義?它會給我速度或安全優勢嗎?還是應該將文檔合併到一起,讓索引和分片爲我完成這項工作?使用Mongo進行建模時,我應該將用戶帳戶分爲獨立的集合還是數據庫?
對於少數用戶,您可以針對每個用戶進行收集,但對於較大的數字,您希望將其放入同一個收藏集中。請參閱http://www.mongodb.org/display/DOCS/Using+a+Large+Number+of+Collections
根據該頁面,使用大量集合時沒有任何主要的性能損失。
從安全角度來看,您並沒有真正獲得任何東西,任何集合都像其他任何集合一樣易於訪問,安全性大部分在MongoDB的應用程序級別上。
從可管理性的角度來看,我把它們放在一個集合中。這樣,您可以輕鬆運行map-reduce作業來彙總用戶統計信息。