windows – ETS / Mnesia RAM表中的官方/建议/允许的最大记录数(或RAM表大小)

Erlang一直是许多“新时代”(淫秽快速和容错)消息传递系统的良好应用.例子可以是 RabbitMQ,ejabberd,WhatsApp for Mobile e.t.c.无论消息传递系统是如何构建的,它都需要知道正在进行的会话,登录用户,e.t.c.我认为对于这样的系统来说,保持数据IN-MEMORY是不可避免的.
对于Erlang,可能的最大值是多少,或者允许的最大值是什么?或者ETS表或mnesia RAM表中官方建议的最大记录数是多少?是否存在特定的表大小,如果超过则会导致整个VM崩溃?只要基础操作系统允许,ETS表或Mnesia RAM表是否会增长到任何数量?我听说Monesia Table Limit为2或4GB,但我认为这是针对磁盘表的.需要处理大量数据IN-MEMORY的未来应用程序的典型示例是OLAP Systems,Real Time analytics,Social Gaming e.t.c.在这一方面的思考激发了这个问题.

解决方法

mnesia是ETS和DETS表的包装层.对于32位系统,ETS表的最大值约为3.5GB.对于64位系统,最大值要多得多,因此从技术上讲,它受OS可用RAM的限制.对于DETS(并且非常愚蠢),限制为2GB.

我没有与其他键值存储系统的任何基准测试,但请记住,ETS直接存储Erlang术语而不进行任何编码/解码.

相关文章

Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自...
主域控角色迁移和夺取(转载) 转载自:http://yupeizhi.blo...
Windows2012R2 NTP时间同步 Windows2012R2里没有了internet时...
Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...