一 、关于mnesia
如果你的系统有如下要求,其可以使用Mnesia:
1、对于潜在的数据进行快速键-值查询
2、跨界节点集群分布和复制数据、并支持位置透明。
3、支持带有快速访问的我数据持续性。
4、表位置和表特性的运行重配置
5、支持事务处理,跨越节点合理的分布式集群。
6、数据索引
7、与erlang系统一样水平的容错性。
8、把你的数据模型紧密的耦合到erlang的数据类型和erlang本身
9、没有软实时限定的关系查询。
如有以下需求,就不要用mnesia:
1、简单的键值查询
2、巨大的二进制存储介质,如图片或音频文件
3、一个持续的日志
4、一个必须存储GB级数据容量的数据库
5永远不会停止的大型数据档案
对于简单的键值查找,可以使用ETS或dict库模块。
二、配置mnesia
mnesia封装为一个OTP应用程序,要使用它,你通常需要创建一个空模式并存储在磁盘上,但也可以吧它用作一个内存数据库,他只是把模式保存在内存里。
disk_log处理大数据核查和跟踪日志。
一个DETS表的上限是2GB,这意味着如果是光盘,Mnesia表的上限是2GB,32位系统上限是4GB(4*10^9字节),64位系统是16EB(16*10^18字节)。
mnesia是缓存所有数据会话数据的佳选择
三、模式设置
模式是一个描述数据库的表定义聚合,它涵盖你存储于内存、磁盘还是两者皆有的表,还有其配置特性和它将包含的数据的格式。可以先创建一个空模式,然后随着表定义的增加而增加。
为了创建模式(创建数据库)启动分布式erlang节点并和他们连接,在此之前,有一点很重要,即要确保没有旧模式存在,并确保mnesia尚未启动。
mnesia
分享好友
分享这个小栈给你的朋友们,一起进步吧。
订阅须知
• 所有用户可根据关注领域订阅专区或所有专区
• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询
• 专区发布评论属默认订阅所评论专区(除付费小栈外)
技术专家
查看更多- LCR_专家