開始之前我想爲我的問題的一般類型 道歉 - 我相信整本書 可以寫在該特定主題上。模式在文檔數據庫中更改模式
讓我們假設您有一個包含多個文檔模式的大文檔數據庫 以及每個這些模式的數百萬個文檔。 在應用程序的生命週期中,需要頻繁更改已存儲文檔的模式 (和內容)。
這樣的變化可能是
- 添加新字段
- 重新計算字段值(分裂總成網和VAT)
- 降字段
- 移動字段放入
我的最後一個項目,我們使用了一個SQL數據庫,我們有一些非常相似的挑戰 哪當 更改變得激烈時,會在某些重要的脫機時間(對於全天候產品)中產生沮喪,因爲當發生更改時,SQL DB通常在表上執行LOCK。我想避免這種情況。
另一個相關的問題是如何處理 使用的編程語言環境中的模式更改。通常情況下,架構更改發生在 更改類定義(我將使用Mongoid OR-Mapper for MongoDB和Ruby)。如何處理舊版本的 以外的文檔更符合我最新的類定義。