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

Muz*_*hua 4 unix linux windows erlang mnesia

Erlang一直是许多"新时代"(淫秽快速和容错)消息传递系统的良好应用.例如可以RabbitMQ的,ejabberd,WhatsApp的移动等不管邮件系统是如何构建的,它需要知道什么会话回事,谁登录,等我认为保持数据IN-MEMORY是不可避免的此类系统.

对于二郎,最大可能是什么,或者允许的最大什么或什么是在记录的正式通知最大数量ETS table还是mnesia RAM table?是否存在特定的表大小,如果超过则会导致整个VM崩溃?不要ETS TablesMnesia RAM Tables只要底层操作系统允许它增长到任何金额是多少?我听说过Mnesia Table Limit2 or 4GB,但我认为这是对磁盘表.

那将需要处理大量的内存数据的未来应用的一个典型例子是OLAP Systems,Real Time analytics,Social Gaming等在这种思路已经激发了这个问题.

gal*_*dog 6

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

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