
mnesia
文章平均质量分 82
wqtn22
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
mnesia的普通transaction写过程(一)事务准备
erlang的分布式数据库mnesia是erlang分布式体系中非常重要的组件,其本身具有分布式的特性,可以在多个结点上建立数据副本,支持数据持久化,用好了mnesia,可以极大的减轻分布式架构的设计难度。 本博文带来的第一篇有关mnesia的分析,即是mnesia最常见也最重要的接口:transaction写过程。mnesia的文档上记载(http://www.erlang.org/doc...原创 2012-06-25 21:14:46 · 625 阅读 · 0 评论 -
mnesia的普通transaction写过程(二)写操作
上一篇博文介绍了mnesia的事务准备阶段,在其transaction上下文中执行了传入的函数,该函数为 fun() -> mnesia:write({user, me, 12345}) end此后将继续分析。mnesia_tm.erlapply_fun(Fun, Args, Type) -> Result = apply(Fun, Args), c...原创 2012-06-25 21:34:49 · 209 阅读 · 0 评论 -
mnesia的普通transaction写过程(三)锁请求
上一篇博文介绍了mnesia的写操作函数write完成的工作,其中涉及了锁请求过程,此后将继续分析。mnesia_locker.erlwlock(Tid, Store, Oid) -> wlock(Tid, Store, Oid, _CheckMajority = true).wlock(Tid, Store, Oid, CheckMajority) ->...原创 2012-06-25 22:05:24 · 228 阅读 · 0 评论 -
mnesia的普通transaction写过程(四)事务提交准备
上一篇博文介绍了mnesia的锁请求过程,在请求到锁后,mnesia:write将更新写入临时ets表,此后mnesia:write将完成其使命,重新回到mnesia_tm:apply_fun函数中,此后将继续分析。apply_fun(Fun, Args, Type) -> Result = apply(Fun, Args), case t_commit(Type...原创 2012-06-25 22:26:53 · 210 阅读 · 0 评论 -
mnesia的普通transaction写过程(五)事务提交
上一篇博文介绍了mnesia的事务提交准备过程,为每个事务参与结点构造了其提交结构commit,下面将进入到提交过程中,此后将继续分析。 mnesia_tm.erl multi_commit(sym_trans, _Maj = [], Tid, CR, Store) -> {DiscNs, RamNs} = commit_nodes(CR, [], []), ...原创 2012-06-25 22:54:46 · 247 阅读 · 1 评论 -
mnesia的index_read的性能问题
我们在程序开发过程中,存在如下的一段代码:F = fun () -> Recs = mnesia:index_read(table, Index, indexfield), NewRecs = some_ops_on(Recs), mnesia:write(NewRecs)end,mnesia:transaction(F). 这段代码在运...原创 2013-06-23 16:12:21 · 417 阅读 · 0 评论 -
mnesia监控项目
mnesia在运行时提供了大量的统计量,对这些统计量进行监控,有助于正确使用mnesia,以及对mnesia进行调优,这些统计量包括: 代码版本R15B03 1.启动与运行时参数:运行相关参数:mnesia是否在运行中:mnesia:system_info (is_running) 信息输出级别:mnesia:system_info (debug) 是否使用数据...原创 2013-07-07 13:34:42 · 366 阅读 · 0 评论