sec*_*rve 16 erlang couchdb erlang-otp in-memory-database riak
我可以看到像Klarna和Whatsapp这样的两家大公司正在使用Mnesia作为他们的内存数据库(不确定他们如何将数据保持在Mnesia的2GB限制).我的问题是:为什么公司喜欢这些,可能更多我不知道,使用Mnesia而不是Riak或couchDB,两者都是Erlang,两个数据库都支持更快的内存数据库,更好的无痛持久性和更多功能.我在这里想念一下吗?
I G*_*ERS 37
你遗漏了许多重要的观点:
首先,mnesia没有2千兆字节的限制.它仅限于32位架构,但实际工作中几乎不存在任何架构.在64位上,您不限于2千兆字节.我见过几百GB的数据库.唯一的问题是那些人的初始启动时间.
Mnesia旨在处理:
由于数据已经在Erlang系统中,因此您可以避免单独的过程.您有QLC用于类似数据目录的查询.并且您可以存储任何Erlang术语.
如果以上是你需要的话,Mnesia会很好.它的限制是:
我正常的转到技巧是从Erlang系统中的Mnesia开始,然后随着数据大小的增长切换到另一个系统.如果数据大小增长缓慢,那么您可以将所有内容保存在Mnesia的内存中,并且可以非常快速地启动和运行.
Ole*_*nko 10
很专心.mnesia磁盘表大小没有实际限制.
据我所知,Riak 和CouchDB(请参阅评论中有关 BitCask 的注释)都不支持内存数据库。我对 Riak 的看法可能是错的,但我在 CouchDB 上工作,所以我非常确定。
工程师选择 mnesia 而不是 Riak 或 CouchDB,因为它解决了不同的问题。
他们是否是大公司并不重要。