Database-Design

MongoDB數據庫設計

  • August 1, 2016

我打算在 Mongodb 中實現這個模式,我一直在閱讀一些關於模式設計的資料,這個概念是每當你像關係數據庫一樣建構數據時,你一定做錯了什麼。

在此處輸入圖像描述

我的問題:

  • 當集合大小超過 16MB 限制時我該怎麼辦?server_log 集合中的 app_log 在某些情況下可能會超過 16MB,具體取決於伺服器的繁忙程度。

我知道我可以使用上限功能,但要求是將所有日誌儲存 90 天。

  • 您是否發現我的設計存在任何潛在問題?
  • 讓應用程序檢查集合大小並按天/小時創建新集合以適應日誌大小增長是一種好習慣嗎?

謝謝

16 MB 是單個文件的最大大小,例如一個使用者。

集合的大小僅受最大數據庫限制。

https://docs.mongodb.com/manual/reference/limits/

所以登錄到數據庫應該沒問題。在我看來,使用包括 _id 在內的明智的 indizes 優於一堆集合。

我不清楚您實際上想在數據庫中儲存什麼,因此我無法真正評論結構。一般來說,處理關係有三種方式: 使用數組

  • 儲存子文件或
  • 文件 ID(您必須通過單獨的數據庫請求檢索這些 ID)
  • 通過為所有引用的文件提供一個包含父文件 ID 的欄位來反轉關係

如果您提供更多詳細資訊,則很有可能有人可以為您提供更詳細的答案。

引用自:https://dba.stackexchange.com/questions/137466