所有我需要的是Erlang和限定词的大型持久查找表好像只是事情,虽然我需要一个definative答案:Erlang DETS有多大?如果它太小,该怎么办?
- 在表中的二进制文件的总大小到底有多大都可以。
- 每个条目可以有多大
- 做什么,如果回答的第一个问题是小于100G
所有我需要的是Erlang和限定词的大型持久查找表好像只是事情,虽然我需要一个definative答案:Erlang DETS有多大?如果它太小,该怎么办?
一个明显的方法,一旦想到,就是将条目散列在多个dets文件上。
当一个文件达到上限阈值时,通过将存储分区分成新创建的dets文件,线性散列应使其可动态增长。
还有一些端口驱动程序,使您可以使用sleepycat/berkely db或东京tyrrant。这些数据库的文件限制远高于2Gb。
这是种RTFM问题。如DETS manual的第二段直接引用:
Dets文件的大小不能超过2 GB。如果需要更大的表格,可以使用Mnesia的表格碎片。
除非它的64位二郎神或其他异常之一左右浮动。这就是我在这里问的原因。 – 2009-11-20 18:27:02
detes对64bit光束还有限制,它的文件格式。 – Christian 2009-11-20 22:28:09
使用Mnesia的零散dic_copies可以克服提供这些限制,你知道多少碎片箱提前
http://www.trapexit.org/Mnesia_Table_Fragmentation
这里有一个很好的例子:http://dukesoferl.blogspot.com/2008/06/tokyocabinet-and-mnesia.html – 2009-11-20 21:58:12