mnesia的一些设置

本文介绍了Mnesia数据库系统的日志机制,包括日志文件的创建、内容、转储过程及参数配置。日志文件用于记录基于磁盘的事务操作,确保数据一致性。通过调整-mnesiadump_log_write_threshold和-mnesiadump_log_time_threshold参数可以控制日志转储的频率。
摘要由CSDN通过智能技术生成

-mnesia dc_dump_limit 400
-mnesia dump_log_time_threshold 90000
-mnesia dump_log_write_threshold 150000


当我们启动Mnesia的时候,一个名为LATEST.LOG的文件被创建并且放在数据库目录内。这个
文件被Mnesia用来对基于磁盘的事务做日志。这包括所有在存储类型为disc_copies或
disc_only_copies的表中至少写入一条记录的事务。还包括对模式本身所作的全部操作,如创建新
表等。Mnesia的不同实现的日志格式可能有变化。当前实现的Mnesia是标准库模块disc_log。
日志文件会持续增长,因此需要定期转储。对于Mnesia“ ” 转储日志文件 意味着执行在日志中列出
的所有操作并且将记录存放到对应的.DAT、.DCD和.DCL  “ 文件中。例如,如果 写记录{foo, 4,
elvis, 6}” 操作被列入日志,Mnesia插入此操作到foo.DCL中,随后在Mnesia认为.DCL文件已
经变得太大时,再将数据移入.DCD文件。如果日志很大,转储操作可能非常耗时。因此,理解
Mesia系统在日志转储期间要持续运转是很重要的。
在默认状态下,只要日志中写入了100条记录或者过去了3分钟这两种情况之一出现,Mnesia即
转储日志。可用两个应用程序参数-mnesia dump_log_write_threshold WriteOperations和-mnesia
dump_log_time_threshold MilliSecs来对此进行控制。
在日志被转储之前,文件LATEST.LOG改名为PREVIOUS.LOG,并且创建一个新的
LATEST.LOG文件。日志转储成功后,文件PREVIOUS.LOG被删除。
在启动时以及每当一个模式操作被执行时,也要转储日志。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值