Erlang 是否可以在集群中运行Mnesia而不进行复制
我想知道,我是否可以在没有复制的情况下运行Mnesia。假设我有一个节点集群,其中一个节点承载带有光盘拷贝的mNesia服务器——让我们把这个节点称为mNode。其余节点(服务节点)应从mNode加载架构,并且不应维护任何本地副本Erlang 是否可以在集群中运行Mnesia而不进行复制,erlang,mnesia,Erlang,Mnesia,我想知道,我是否可以在没有复制的情况下运行Mnesia。假设我有一个节点集群,其中一个节点承载带有光盘拷贝的mNesia服务器——让我们把这个节点称为mNode。其余节点(服务节点)应从mNode加载架构,并且不应维护任何本地副本 我查看了mNesia文档,但找不到这样做的方法。是的!您可以在所有节点上创建模式,但将表定义为仅在m_节点上具有ram/磁盘副本。通过这种方式,可以从所有节点访问它们,但只能在一个节点上存储数据。是!您可以在所有节点上创建模式,但将表定义为仅在m_节点上具有ram/磁
我查看了mNesia文档,但找不到这样做的方法。是的!您可以在所有节点上创建模式,但将表定义为仅在m_节点上具有ram/磁盘副本。通过这种方式,可以从所有节点访问它们,但只能在一个节点上存储数据。是!您可以在所有节点上创建模式,但将表定义为仅在m_节点上具有ram/磁盘副本。通过这种方式,可以从所有节点访问它们,但只能在一个节点上存储数据。阅读文档 无盘节点部分讨论如何实现这个用例。 下面的步骤设置这样的环境
1. Start mNode
erl -sname m_node -mnesia dir "/tmp/funky/"
2.Start Service node
erl -sname s1
3. Create Cluster
net_adm:ping('s1@_)').
4. On m_node run
mnesia:change_config(extra_db_nodes, ['s1@_']).
mnesia:create_table(funky, []).
5. On s1 node
mnesia:start().
mneisa:info().
remote = [funky] // Points to Remote table funky on node m_node
ram_copies = [schema] // Ram copy of schema is kept in each service node.
阅读文档
无盘节点部分讨论如何实现这个用例。
下面的步骤设置这样的环境
1. Start mNode
erl -sname m_node -mnesia dir "/tmp/funky/"
2.Start Service node
erl -sname s1
3. Create Cluster
net_adm:ping('s1@_)').
4. On m_node run
mnesia:change_config(extra_db_nodes, ['s1@_']).
mnesia:create_table(funky, []).
5. On s1 node
mnesia:start().
mneisa:info().
remote = [funky] // Points to Remote table funky on node m_node
ram_copies = [schema] // Ram copy of schema is kept in each service node.