yb_lin

导航

随笔分类 -  Mnesia

如何突破mnesia中关于atom最大数值的限制
摘要: 阅读全文

posted @ 2011-02-16 11:39 废铁 阅读(262) 评论(0) 推荐(0)

** WARNING ** Mnesia is overloaded: {dump_log, write_threshold}
摘要:现象:查看页面,发现数据出现异常,今天生成数据比平常水平偏低好多,不大正常原因查找:查看日志文件,发现有出现了几个这样的警告:** WARNING ** Mnesia is overloaded: {dump_log, write_threshold}在查询时发现好多老外遇到这个问题,这儿要说一点,老外在描述问题上很厉害,这儿把它描述的原因copy下来,和我这儿的情况差不多(当然最后他也没得到想要的结果,不过这是另一说,非重点)view sourceprint?01we encountered the following mnesia warning report in our system 阅读全文

posted @ 2011-02-14 15:13 废铁 阅读(906) 评论(1) 推荐(0)

mnesia secondary index
摘要:I have a fragmented mnesia table that I need to add a second index to. It appears that to get this working I need to call mnesia:add_table_index/2 for each fragment. i.e. mnesia:add_table_index(conten... 阅读全文

posted @ 2010-07-20 11:25 废铁 阅读(341) 评论(0) 推荐(0)

Mnesia 学习笔记
摘要:2、Mnesia 入门一个演示用的数据库例子。这个例子以后还会用到,也会做些修改。首先要做以下事情:●启动Erlang会话,指定Mnesia数据库的位置●初始化数据库结构●启动Mnesia,创建所需数据表格2.1 第一次启动 Mnesia打开DOS命令控制台窗口,执行这句:D:\Program Files\erl5.6.5\bin > erl -mnesia dir '"d:/erlang/... 阅读全文

posted @ 2009-09-26 16:56 废铁 阅读(1121) 评论(0) 推荐(0)

分片表qlc查询
摘要:F = fun() -> qlc:e(qlc:q([X || X <- mnesia:table(user)])) end, mnesia:activity(transaction, F, [], mnesia_frag).按条件查询:mnesia:activity(transaction, fun() -> qlc:e(qlc:q([R || R <- mnesia:ta... 阅读全文

posted @ 2009-08-19 21:54 废铁 阅读(385) 评论(0) 推荐(0)

在分布式系统中,获得共享表player的总记录数
摘要:直接使用table_info得到的size总是0,需要使用下面的方法mnesia:activity(transaction,fun() -> mnesia:table_info(player,size) end,mnesia_frag). 阅读全文

posted @ 2009-08-18 22:09 废铁 阅读(260) 评论(0) 推荐(0)

分布式系统中,管理共享数据库的方法
摘要:假设一个线上的节点使用下面的命令行运行/usr/local/erlang/bin/erl -boot game_server-1 -config sasl -sname chatserver01 -mnesia dir '"/game/game_chat_server/gamedb"' -detached如果要管理gamedb的数据,用 -sname chatserver01 -mnesia di... 阅读全文

posted @ 2009-08-18 22:09 废铁 阅读(393) 评论(0) 推荐(0)

动态改变Mnesia表结构
摘要:-record(old, {key, val}).-record(new, {key, val, extra}).Transformer = fun(X) -> #new{key = X#old.key, val = X#old.val,extra = 42}end,{atomic, ok} = mnesia:transform_table(foo, Transformer, record_... 阅读全文

posted @ 2009-08-18 22:08 废铁 阅读(395) 评论(0) 推荐(0)

Mnesia用户手册:四,事务和其他访问上下文
摘要:本章讲述Mnesia事务系统和事务属性,它们让Mnesia成为一个容错的、分布式的数据库管理系统 讲述内容包括锁(table lock和sticky lock)、如何绕开事务(dirty operation)、嵌套事务(nested transaction): 1)事务属性,包括原子性,一致性,隔离性,持久性(ACID) 2)锁 3)脏操作 4)Record名与Table名 5)activity概... 阅读全文

posted @ 2009-08-12 13:53 废铁 阅读(1203) 评论(0) 推荐(0)

Mnesia用户手册:五,Mnesia高级特性
摘要:本章描述了构建分布式、容错的Mnesia数据库相关的高级特性: 1)索引 2)分布和容错 3)表分片 4)本地内容表 5)无盘节点 6)更多的schema管理 7)Mnesia事件处理 8)Mnesia应用调试 9)Mnesia里的并发进程 10)原型 1,索引 如果我们知道record的key,那么数据获取和匹配在执行起来都很高效 相反如果不知道record的key,那么表里所有的record都... 阅读全文

posted @ 2009-08-12 13:53 废铁 阅读(1246) 评论(0) 推荐(0)

Mnesia用户手册:三,构建Mnesia数据库
摘要:本章详细介绍了设计Mnesia数据库和编程结构的基本步骤: 1)定义schema 2)数据模型 3)启动Mnesia 4)创建新表 1,定义schema Mnesia系统的配置在schema里描述 schema是一个特殊的表,它包含了表名、每个表的存储类型(表应该存储为RAM、硬盘或两者)以及表的位置等信息 不像数据表,schema表里包含的信息只能通过schema相关的方法来访问和修改 Mnes... 阅读全文

posted @ 2009-08-12 13:52 废铁 阅读(766) 评论(0) 推荐(0)

Mnesia用户手册:二,Mnesia快速上手
摘要:本章介绍了Mnesia: 1)启动一个Erlang session并制定Mnesia数据库的目录 2)初始化数据库结构 3)启动Mnesia并创建必要的表 1,初次启动Mnesia 以下是Mnesia系统启动的一个简单展示: Java代码 unix>erl-mnesiadir'"/tmp/funky"'Erlang(BEAM)emulatorversion4.9EshellV4.9(abor... 阅读全文

posted @ 2009-08-12 13:52 废铁 阅读(960) 评论(0) 推荐(0)

Mnesia用户手册:一,介绍
摘要:Mnesia是一个分布式数据库管理系统DBMS,适合于需要连续运算和软实时特性的电信应用及其他Erlang应用 目录 1,介绍 2,Mnesia快速上手 3,构建一个Mnesia数据库 4,事务和其他访问上下文 5,多种Mnesia特性 6,Mnesia系统信息 7,联合Mnesia和SNMP 8,Mnesia错误消息 9,备份callback接口 10,活动访问callback接口 11,碎片表... 阅读全文

posted @ 2009-08-12 13:50 废铁 阅读(680) 评论(0) 推荐(0)

Mnesia:一个节点上支持多个分块
摘要:[代码] 阅读全文

posted @ 2009-08-11 22:56 废铁 阅读(498) 评论(0) 推荐(0)