【问题标题】:Mnesia table replication/sharingMnesia 表复制/共享
【发布时间】:2010-09-12 07:32:19
【问题描述】:

假设我们有 N erlang 节点,运行相同的应用程序。我想要 与所有 N 个节点共享一个记忆表 T1,我认为这没有问题。 但是,我想与节点对共享另一个 mnesia 表 T2。 我的意思是 T2 的内容将相同并复制到/与 仅共享对。换句话说,我想要 N/2 个不同的内容 T2 表。这可能与 mnesia 一起使用,而不是为每个重命名 T2 不同的节点对?

【问题讨论】:

    标签: erlang mnesia


    【解决方案1】:

    如果使用mnesia_frag_hash 回调行为,则可以使用mnesia 的表碎片来执行此操作。这允许您控制密钥的分配,并且可以构造密钥,以便回调能够确定应该使用哪个节点对(以及哪个片段)。

    这是否适用于您的特定情况取决于您的访问模式和数据集。很有可能这是一种相当复杂的方法,而且您最好只使用不同的表名来代替。

    【讨论】:

      【解决方案2】:

      一个表始终是一个表,无论您与多少个节点共享它。如果您希望成对的节点共享一个表,则必须为每对节点创建一个唯一的表。

      不过,您可以对所有这些表使用相同的设置(记录等),因此不需要做太多工作来完成它。

      【讨论】:

        猜你喜欢
        • 2016-05-20
        • 2013-03-21
        • 1970-01-01
        • 2021-01-02
        • 2013-09-29
        • 2016-10-28
        • 2023-03-08
        • 1970-01-01
        • 2015-07-20
        相关资源
        最近更新 更多