gpt4 book ai didi

erlang - 什么是 Mnesia 复制策略?

转载 作者:行者123 更新时间:2023-12-05 01:07:08 25 4
gpt4 key购买 nike

  • Mnesia 使用什么策略来定义哪些节点将存储特定表的副本?
  • 我可以强制 Mnesia 为每个表使用特定数量的副本吗?这个数字可以动态改变吗?
  • 是否有任何来源(除了源代码)对 Mnesia 内部算法的详细(不仅仅是概述)描述?
  • 最佳答案

  • 手动的。您负责指定在何处复制内容。
  • 是的,如上所述,手动。这可以动态更改。
  • 恐怕(尽管可能是错误的)除了源代码之外没有其他内容。
    在文档方面,整个 Erlang 发行版几乎不是领导者
    在软件世界。

  • Mnesia 不会自动管理给定表的副本数量。
    您负责指定将存储表副本的每个节点(因此它们的编号)。一个副本可能是:
  • 存储在内存中,
  • 存储在磁盘上,
  • 存储在内存和磁盘中,
  • 未存储在该节点上 - 在这种情况下,该表将可访问,但数据将从其他一些节点按需获取。

  • 可以在系统运行时重新配置复制策略,但要动态执行此操作(例如基于节点关闭事件),您必须自己提出解决方案。

    Mnesia 系统事件可用于发现节点宕机时的情况;如果您知道该节点上存储了哪些表,您可以根据仍然在线的节点检查其在线副本的数量,然后在需要时执行复制。

    我不知道有任何应用程序/库已经管理了这种东西,而且它似乎是一个相当先进的(至少从我的角度来看)努力制作一个。

    但是,Riak 是一个数据库,它对用户透明地管理其节点之间的数据分布,并且可以根据您提到的选项进行配置。这可能是你要走的路。

    关于erlang - 什么是 Mnesia 复制策略?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18986980/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com