Database-Design
MongoDB數據庫設計
我打算在 Mongodb 中實現這個模式,我一直在閱讀一些關於模式設計的資料,這個概念是每當你像關係數據庫一樣建構數據時,你一定做錯了什麼。
我的問題:
- 當集合大小超過 16MB 限制時我該怎麼辦?server_log 集合中的 app_log 在某些情況下可能會超過 16MB,具體取決於伺服器的繁忙程度。
我知道我可以使用上限功能,但要求是將所有日誌儲存 90 天。
- 您是否發現我的設計存在任何潛在問題?
- 讓應用程序檢查集合大小並按天/小時創建新集合以適應日誌大小增長是一種好習慣嗎?
謝謝
16 MB 是單個文件的最大大小,例如一個使用者。
集合的大小僅受最大數據庫限制。
https://docs.mongodb.com/manual/reference/limits/
所以登錄到數據庫應該沒問題。在我看來,使用包括 _id 在內的明智的 indizes 優於一堆集合。
我不清楚您實際上想在數據庫中儲存什麼,因此我無法真正評論結構。一般來說,處理關係有三種方式: 使用數組
- 儲存子文件或
- 文件 ID(您必須通過單獨的數據庫請求檢索這些 ID)
- 通過為所有引用的文件提供一個包含父文件 ID 的欄位來反轉關係
如果您提供更多詳細資訊,則很有可能有人可以為您提供更詳細的答案。