问题标签 [mnesia]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1652 浏览

erlang - ejabberd 主管模块

我需要保持 gen_mod 进程运行,因为它每分钟循环一次并进行一些清理。但是每隔几天它就会崩溃一次,我将不得不再次手动启动它。

我可以使用一个在 ejabberd_sup 中实现主管的基本示例,这样它就可以继续运行。我正在努力理解使用 gen_server 的示例。

谢谢您的帮助。

0 投票
1 回答
209 浏览

erlang - Erlang : Mnesia : 删除前缀为 _fs 的文件是否安全?

我在 mnesia 目录中有几个文件,比如

我可以删除它们(因为它是大文件)而不会有丢失数据的风险吗?

为什么会出现这些文件?这些文件是干什么用的?删除它们是否安全?

0 投票
1 回答
523 浏览

erlang - 监控和预防系统限制 Erlang 系统中 Mnesia 的崩溃

我们有许多云服务器,我正在构建一个新的服务器来测试资源的供应。

在我认为我应该这样做之前,我遇到了致命的崩溃方式,因为某种系统资源正在耗尽。

操作系统是 Ubuntu 8.04 (LTS),但我们的其他操作系统是 Ubuntu 9.04 和 Ubuntu 9.10 - 我认为我们必须将它们标准化 :(

所以我的问题是:

  • 如何确定哪些资源正在耗尽?
  • 我可以采取哪些主动监控步骤来确保它不会再次发生?
  • 一般来说,我可以用 Erlang VM 耗尽哪些系统资源,我应该为它们采取哪些监控步骤?
0 投票
2 回答
712 浏览

erlang - Mnesia:以 {local_content, true} 模式读取远程节点数据

有没有办法使用 mnesia 进行本地写入和全局读取(无需复制)。例如:节点 A 写入其本地 DB,节点 B 从节点 A 的 DB 中读取。除了本地存储的模式信息之外,节点 B 没有任何自己的数据。

根据文档,{local_content, true}似乎是我需要使用的,但我试图让节点 B 读取节点 A 的数据没有成功。

我的架构和表配置如下所示:

在节点A@ip1 上:

在 nodeB@ip2 上:

配置错误还是可以通过其他方式完成?

0 投票
2 回答
2458 浏览

erlang - 为 mnesia 查询编写 Query List Comprehensions

我正在尝试使用 erlang+mnesia 构建一个小型测试应用程序。

我有一个从 #user 记录构建的用户表,定义如下:

然后我插入一个具有该功能的用户:

查询[U#user.details || U <- mnesia:table(user)]返回一个非空列表。现在我正在尝试构建一个查询,如果没有与 details.name 匹配名称的记录或匹配的记录(如果有),它将返回一个包含零记录的列表。

这是我使用的方法(这个有效):

我从本教程中复制了一些东西。mnesia:select在方法(幻灯片 19)中解决了类似的问题,mne_fun_query({sport, Sport})但现在我想用 qlc 来解决。

我尝试了各种组合但没有任何成功(通常在编译时失败..)。

我对 erlang 真的很陌生,如果您能说出哪个查询应该起作用并稍微解释一下,那将不胜感激!

垫。

编辑

这是一个不起作用的版本,但也许可以更好地解释我的问题

和我的错误:

mathieu@evangeneer:~/projects/nopair$ make 重新
编译:src/resources/user_resource
src/resources/user_resource.erl:22: 之前的语法错误:'.'
src/resources/user_resource.erl:6: function user_exists/2 undefined make:
*** [erl] Error 1

0 投票
3 回答
497 浏览

performance - 如何衡量 Web App 的性能?

我在 PHP/Apache/Mysql、Python/Ngix/Postgresql 和 Erlang/Yaws/Mnesia 中开发了 3 个简单的博客系统。

对于这 3 种不同的配置,我如何测量我的服务器上的性能?

0 投票
3 回答
3245 浏览

database - Erlang:Mnesia 还是 Mysql?

您在 Erlang 中使用什么 DBMS?为什么?

0 投票
1 回答
1197 浏览

erlang - Mnesia 的桌子在哪里?

我尝试将 Mnesia 与更传统的数据库进行比较。

据我了解,Mnesia 中的表可以位于(请参阅Mnesia 中的内存消耗):

  • ram_copies- 表存储在 中ets,因此没有 ACID 中的持久性。
  • disc_copies- 表位于etsand dets,所以表不能大于可用内存?而如果表是碎片化的,数据库就不能大于可用内存吗?
  • disc_only_copies- 表位于dets,因此内存中没有缓存,性能更差。并且表的大小被限制在表的大小dets或者表必须是碎片化的。

因此,如果我想要从 RAM 读取的性能和写入磁盘的持久性,那么与 MySQL 或 PostgreSQL 等传统 RDBMS 相比,表的大小非常有限。

我知道 Mnesia 并不是要取代传统的 RDBMS:s,但它可以用作大型 RDBMS 还是我必须寻找另一个数据库?

我将使用的服务器是一个内存有限的 VPS,大约512MB,但我想要良好的数据库性能。

disc_copies正如我所理解的那样,Mnesia 中的其他类型的表格是否如此有限?数据库不能部分在内存上,完整的副本在磁盘上吗?

0 投票
3 回答
3218 浏览

database - Erlang Mnesia 等效于 SQL Select FROM WHERE Field IN (value1, value2, value3, ...)

我有一个 mnesia 表,其中包含 f1、f2、f3 字段。现在,如果我要选择字段值为 V1 的所有行,我将使用mnesia:select并匹配规范或简单的mnesia:match_object. 现在我需要选择所有具有 V1、V2、V3 ... 或 Vn(任意长度的列表)的行作为字段 f1 的值。在 SQL 中,我会做类似的事情

我如何在记忆中做到这一点?

0 投票
2 回答
743 浏览

erlang - 如何实现 MNesia 的动态查询?

我正在尝试实现一个为 MNesia 生成动态查询的函数。

例如,当使用这些参数调用函数时;

我想查询 MNesia 以在person表中列出名称“jack”年龄21的项目。

我尝试通过使用 qlc:q(ListComprehension) 和 qlc:string_to_handle("ListComprehension") 来实现这一点。由于编译错误,第一次失败,编译器不允许我使用函数而不是 ListComprehentions 和变量而不是像“Item#Table.Field”这样的记录名称。第二次失败,因为 erl_eval 无法处理记录并抛出了 {undefined_record, person} 之类的异常。

我应该使用哪种方法?我该如何解决这些问题?还是我应该使用不同的方法?

谢谢。