3
- Mnesia使用什麼策略來定義哪些節點將存儲特定表的副本?
- 我可以強制Mnesia爲每個表使用特定數量的副本嗎?這個數字可以動態改變嗎?
- 有沒有任何資源(除了源代碼)與Mnesia內部算法的詳細(而不僅僅是概述)描述?
Mnesia不會自動管理給定表的副本數。 您有責任指定將存儲表副本的每個節點(因此它們的編號)。複製品然後可以:
當系統正在運行時,可以重新配置複製策略,但要動態執行(例如,基於節點關閉事件),您必須自己提出解決方案。
Mnesia系統事件可用於發現節點停機時的情況;如果您知道該節點上存儲了哪些表,則可以根據仍處於聯機狀態的節點檢查其聯機副本的數量,然後在需要時執行復制。
我不知道任何應用程序/庫已經管理這種東西,它似乎是一個相當先進的(從我的角度來看,至少)努力做一個。
但是,Riak是一個數據庫,它可以從用戶透明地管理其節點之間的數據分佈,並且可以根據您提到的選項進行配置。這可能是你走的路。