說我有一個應用程序接收帶有兩個參數的請求:X和Y.我要做的就是統計這些請求,並且我想使用MongoDB來完成任務。MongoDB數據建模:文檔嵌入困境
我能想到的兩種方法將這些信息存儲在MongoDB中:
1. 有一個文件X和Y的每種組合:
{
_id : "X+Y",
count : 34
}
2. 嵌入Y考慮X,這意味着每個X都有一個總結所有請求的文檔X:
{
_id : "X",
total_count : 47,
y: {
"Y1" : 34,
"Y2" : 13
}
}
每個t的優缺點是什麼?這些方法?
一種方法是否是最佳實踐?還有另一種我錯過的合法方法嗎?這是一個常見的困境嗎?
我一直在閱讀MongoDB的手動data modeling部分和a FAQ discussing this issue,但我並不滿足。
感謝
更新
我的應用程序,預計處理大約50M請求天,而每個請求擁有一些屬性(如X和Y),但它們的相對少量(4-5),並且每個請求應該被計數(通過插入或更新)。
這些數據將在每個小時左右查詢,並且查詢預計會使用聚合。這些查詢通常會查詢最近幾天(最多一週)的數據。
第一種方法在讀/寫方面會更好嗎?也許如果我查詢一個特定的X和Y,對不對?因爲如果我查詢多種類型,我必須查詢多個文檔(比第二種方法更多),據我瞭解,查詢的文檔越多,得到的最差,不是? –