假设我们有N个erlang节点,运行相同的应用程序。我希望与所有N个节点共享一个mnesia表T1,我认为这没有问题。但是,我想与成对的节点共享另一个mnesia表T2。我的意思是,T2的内容将是相同的,并且只复制到共享对中。换句话说,我想为T2表提供N/2种不同的内容。对于mnesia,这是否可能,而不是为每对不同的节点重命名T2?
发布于 2008-09-23 11:03:47
一个表始终是一个表,无论您与多少个节点共享它。如果希望成对的节点共享表,则必须为每对节点创建一个唯一的表。
您可以对所有这些表使用相同的设置(记录等),因此不应该有太多的工作来完成它。
发布于 2008-09-23 13:28:56
如果使用mnesia_frag_hash
回调行为,则可以使用mnesia的表碎片来实现这一点。这允许您控制键的分布,并且可以构造键,以便回调能够确定应该使用哪个节点对(以及哪个片段)。
这在您的特定情况下是否有效取决于您的访问模式和数据集。这很有可能是一种非常复杂的方法,您可以简单地使用不同的表名。
https://stackoverflow.com/questions/120065
复制相似问题