Mnesia 表复制/共享
Posted
技术标签:
【中文标题】Mnesia 表复制/共享【英文标题】:Mnesia table replication/sharing 【发布时间】:2010-09-12 07:32:19 【问题描述】:假设我们有 N erlang 节点,运行相同的应用程序。我想要 与所有 N 个节点共享一个记忆表 T1,我认为这没有问题。 但是,我想与节点对共享另一个 mnesia 表 T2。 我的意思是 T2 的内容将相同并复制到/与 仅共享对。换句话说,我想要 N/2 个不同的内容 T2 表。这可能与 mnesia 一起使用,而不是为每个重命名 T2 不同的节点对?
【问题讨论】:
【参考方案1】:如果使用mnesia_frag_hash
回调行为,则可以使用mnesia 的表碎片来执行此操作。这允许您控制密钥的分配,并且可以构造密钥,以便回调能够确定应该使用哪个节点对(以及哪个片段)。
这是否适用于您的特定情况取决于您的访问模式和数据集。很有可能这是一种相当复杂的方法,而且您最好只使用不同的表名来代替。
【讨论】:
【参考方案2】:一个表始终是一个表,无论您与多少个节点共享它。如果您希望成对的节点共享一个表,则必须为每对节点创建一个唯一的表。
不过,您可以对所有这些表使用相同的设置(记录等),因此不需要做太多工作来完成它。
【讨论】:
以上是关于Mnesia 表复制/共享的主要内容,如果未能解决你的问题,请参考以下文章