MongoDB Advanced Schema Design Pattern - Archive Pattern

用一句簡單的話說

將不常用的舊資料移出主要 collection,以保留主要資料集的查詢效能。


場景

  1. write operation 會影響 collection 中的所有 index,而過大的 index 佔用記憶體
  2. 常用的 collection 裡放了一堆不常用的 document 會是效能瓶頸

簡單的做法

  1. 複製不常用的 document 到 archive 裏
  2. 如果引用的 document 也 reference 其他 document 就會有點複雜
  3. 可以使用 extended reference pattern 在 archive document 加上 reference 去強化 archive 的依賴關係
  4. 選擇正確的 online storage ,可以是外部的其他空間,去儲存 archive,或是 mongodb 自己的服務例如 mongodb online archive service,並刪除舊的文檔,這裡不演示,但記得常常去 archive 並且 delete 不要的資訊