一部の場所では2GB期間と記載されています。一部の場所では、ノードの数に依存すると述べています。
11163 次
3 に答える
67
あなたの質問が「膨大な数のテーブルで構成された mnesia データベースのストレージ容量はどれくらいか」である場合、非常に大きくなりますdisc_only_copies
。使用可能なディスク容量によって大きく制限されます。
答えるのが簡単な質問は、さまざまなタイプの 1 つの mnesia テーブルの最大容量です。ram_copies
テーブルは使用可能なメモリによって制限されます。disc_copies
テーブルはdets
バックエンド ( Mnesia の Hakan Mattsson ) によって制限されています - この制限は現時点で 4Gb のデータです。
したがって、簡単な答えは、disc_copies
問題が発生する前に、単純なテーブルに最大 4Gb のデータを保存できるということです。(ディスク上のサイズ制限を超えても、Mnesia は実際にはクラッシュしません。テーブルの ram_copies 部分は引き続き実行されるため、データを削除するか、実行時に他の調整を行うことでこれを修復できます) 。
ただし、他の記憶喪失機能を考慮すると、答えはより複雑になります。
local_content
テーブル。テーブルがテーブルの場合local_content
、mnesia クラスター内の各ノードで異なるコンテンツを持つことができるため、テーブルの容量は次のとおりです。4Gb * <number of nodes>
- 断片化されたテーブル。Mnesia は、テーブル フラグメントを使用した、ユーザーが構成可能なテーブル パーティション分割またはシャーディングをサポートしています。この場合、テーブル内のデータを多数のプリミティブ テーブルに効果的に分散および再分散できます。これらのプリミティブ テーブルは、それぞれ独自の構成を持つことができます。たとえば、1 つの ram_copies テーブルと残りの disk_only_copies テーブルなどです。これらのプリミティブ テーブルには、前述したのと同じサイズ制限があり、断片化されたテーブルの有効容量は です
4Gb * <number of fragments>
。(悲しいことに、テーブルをフラグメント化する場合は、テーブル アクセス コードを変更して、友人mnesia:activity/4
の代わりに使用するmnesia:write
必要がありますが、事前にこれを計画していれば、管理可能です) - 外部コピー極端な最先端での生活が好きな場合は、mnesiaexパッチを mnesia に適用して、 Amazon S3やTokyo Cabinetなどの外部システムにテーブル データを保存できます。この場合、テーブルの容量はバックエンド ストレージによって制限されます。
于 2009-01-07T21:50:24.117 に答える
6
ドキュメントによると、これは 4GB です。セクション 11.5
于 2009-01-07T18:50:48.613 に答える