0

組み込みプラットフォームに Cassandra を使用することを検討しており、ディスクをまったく使用しないようにしたいと考えています。私の調査では、ディスクの使用をオフにする構成オプションを見つけることができませんでした。ディスクにコミット ログがないため、書き込み耐久性がないことのマイナス面を理解しています。

つまり、Cassandra を完全にインメモリ DB で実行し、ネイティブに保持されるすべてのデータ (使用されるパーティショナーに基づく) と、キャッシュされたデータと Cassandra によって使用されるその他のメタデータに対応するための十分な RAM を専用に用意します。ローカル キャッシュが利用可能な RAM を超えて大きくなった場合、何らかの LIFO セマンティクスを使用して、他のノードからキャッシュされた古いデータをフラッシュすることを前提としています。

Cassandra をディスクなしで完全にメモリ内で動作させるためのオプション/ライブラリはありますか?

ありがとう。RG

4

2 に答える 2

1

1 つのオプションは、RAM にバックアップされたファイルシステムをマウントすることです。tmpfsまたはRAM ディスクを使用できます。それらの違いの 1 つtmpfsは、ファイル システムが既に存在することですが、未加工の RAM ディスクを使用すると、ブロック デバイスしか得られないため、ファイル システムで個別にフォーマットする必要があります。

于 2013-08-02T02:21:00.397 に答える
0

mariadb を使用している場合は、Cassandra を別のデータ バックエンドに交換できます。これは意図した使用法ではないため、特定の「却下されたオプション」があるとは思えません。

RAM要件が基本的に2倍になるため、tmpfsなどは使用しません。データベースが保存するメモリ内キャッシュと「ディスク」上のコピーがあります。メモリのみの操作用に特別に設計されたデータベース バックエンドを使用するのが最善の策です。何らかの理由で tmpfs を使用する必要がある場合は、キャッシュを最小限に抑えて、2 つのコピーを保存しないようにします。tmpfs はバッファ キャッシュであるため、そこに保存するのは Linux ディスク キャッシュからプルするよりも遅くはなく、回転するディスクにヒットしないように設計された上部キャッシュ レイヤは RAM を無駄にします。

于 2015-07-17T05:01:00.617 に答える