我正在研究如何爲Erlang應用程序組織數據存儲的可能選項。它應該使用的數據基本上是由短字符串ID索引的大量二進制blob集合。每個blob都在10Kb以下,但其中有很多。我預計總共它們的尺寸可能高達200GB,所以顯然它不能適應內存。對這些數據的典型操作是通過其id讀取blob或通過id更新blob或添加一個新的blob。在每天的特定時間段內,只有一部分ID正在使用,因此數據存儲訪問性能可能受益於內存中緩存。談到性能 - 這是非常關鍵的。目標是在商品硬件上每秒鐘有500次讀取和500次更新(例如在EC2 VM上)。當數據不適合內存時適用於Erlang應用程序的數據存儲後端
有什麼建議在這裏使用什麼?據我瞭解,dets是無可爭議的,因爲它限於2G(或者是4G嗎?)。 Mnesia可能也沒有問題;我的印象是它主要是爲數據適合內存的情況設計的。我正在考慮嘗試使用EDTK的Berkeley DB驅動程序。它會在上述情況下工作嗎?有沒有人在類似條件下的生產中使用它?
這是爲了答覆,但它有點太晚了 - 我已經在我的應用程序中玩tcerl :) – 2008-11-28 19:54:40