4

必要なのはErlangの大きな永続的なルックアップテーブルだけで、detsはまさにそのように思えますが、次のような明確な答えが必要です。

  • テーブル内のバイナリの合計サイズがどれだけ大きくなる可能性があるか。
  • 各エントリの大きさ
  • 最初の質問の答えが100G未満の場合の対処方法
4

3 に答える 3

8

これは一種のRTFMの質問です。DETSマニュアルの2番目の段落で直接引用されているように:

Detsファイルのサイズは2GBを超えることはできません。より大きなテーブルが必要な場合は、Mnesiaのテーブルフラグメンテーションを使用できます。

于 2009-11-20T05:59:34.620 に答える
2

考えられると、明らかなアプローチの1つは、複数のdetsファイルに対してdetsエントリをハッシュすることです。

線形ハッシュは、1つのファイルが上限しきい値に達したときにバケットを新しく作成されたdetsファイルに分割することにより、動的に拡張可能にする必要があります。

sleepycat / berkely db、またはtokyotyrrantを使用できるようにするポートドライバーも多数あります。これらのデータベースには、2Gbよりはるかに高いファイル制限があります。

于 2009-11-20T16:54:52.923 に答える
0

mnesiaの断片化されたdic_copiesを使用すると、事前にクレートするフラグメントの数がわかっていれば、これらの制限を克服できます
http://www.trapexit.org/Mnesia_Table_Fragmentation

于 2009-11-20T21:56:11.087 に答える