我有与运行自定义模块量好一个ejabberd服务器。我有几个Mnesia表,我知道这些可以在节点之间容易被复制,而完全不任何改变的代码。我在想,如果有一个与ETS表以类似的方式?

在理想情况下它会是不错的能有完全一样的Mnesia和ETS数据运行的几台机器,而不必到我的ETS表转换成Mnesia表。 (因此重写的代码量好。)

一,虽然我已经在做一个RPC:对每个节点的ETS表的电话,但我还是不确定的影响,这会对性能。

如果任何人有任何答案,请让我知道。

有帮助吗?

解决方案

没有,ETS表内容不能被复制给你。

复制(和交易安全性)是Mnesia数据库应用介绍,其实现用途ETS为ram_only表中的特征。

其他提示

您可以RPC:呼叫上遥远的节点上的ETS表

但Mnesia的整点是固定你正在运行到这样的问题:复制

你的代码转换为Mnesia的是对未来的良好的投资。 虽然有风险的,你总是可以使用mnesia:ets()尽量减少代码的变化。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top