我想設計一個模型輪廓交互,例如< - >互動< - > B,相互作用包含A和B
可以說我有收集所謂的相互作用共同領域,我有幾個想法,我正在尋找最佳實踐解決方案。
收集數據建模MongoDB中
相互作用分開到兩個不同的文件,每個配置文件
{ pid:"A ID" commonField1:"" commonField2:"" .. } { pid:"B ID" commonField1:"" commonField2:"" .. }
優點:快速閱讀
缺點:應該在這兩個文件的執行對共同項目的每個更新維護一個文件進行交互
個{ pids:['A ID','B ID'] commonField1:"" commonField2:"" .. }
優點:更新的共同視野只有一次
缺點:棘手的閱讀
的事情是有大量的閱讀,但也有很多更新的這彙集應該設計了很多數百萬的文件。在我的情況下
常用查詢:
- 檢索輪廓相互作用
- 更新特定的配置文件交互
我倚在那裏我將依靠多鍵索引上的第二選擇用於快速文檔查找的pid,我將在每次頻繁更改中享受單次更新。
我對分片集合沒有經驗,但我注意到多鍵索引不支持分片鍵,它應該是第二選擇的顯示限制嗎?
這樣的索引讀取速度是否足夠快?對我的用例他們還有其他選擇嗎?
您的回答非常感謝。