最终与erlang一致的mnesia数据库.最好的做法是谁?

Mat*_*ari 5 erlang mnesia eventual-consistency

我在erlang写了一个bittorrent跟踪器.鉴于服务的性质,我不需要绝对的一致性(即客户可以完全满意稍微过时的同行列表或torrent状态).

到目前为止,我的策略是在启用了disc_copies的情况下在RAM中创建mnesia表,以便在日志大小超过特定大小时让mnesia自动将内存转储到磁盘.

如果服务器崩溃,某些信息将丢失.没有大碍.

另一种方法是实例化两个表(仅一个ram和一个磁盘),并且每分钟左右都有一个从ram到磁盘的进程副本.这更天真,但是只允许转储内存中的一部分,减少整体磁盘开销,并可能完全避免使用日志(我实际上不确定这最后的语句).

我确信还有很多其他方法可以做到这一点.你的是啥呢?

-TeO

Chr*_*ian 1

这是一个您可能感兴趣的项目http://github.com/jlouis/etorrent/tree/master