cassandra-1.1を使用しています。
いくつかの最適化の目的で、キースペースの列ファミリーを増やすことにしました。
ヒープ使用率に影響はありますか?
カサンドラがメモリを使い果たす可能性はありますか?
cassandra-1.1を使用しています。
いくつかの最適化の目的で、キースペースの列ファミリーを増やすことにしました。
ヒープ使用率に影響はありますか?
カサンドラがメモリを使い果たす可能性はありますか?
Cassandraの最近のバージョンでは、各列ファミリーのヒープに最低1MBが割り当てられているため、これをヒープ消費の下限として扱うことができます。ブルームフィルターは、列ファミリーの使用量に必ずしも依存しない方法でヒープスペースを占有します。
あなたは5から10のコラムファミリーに行くことについて話しているのですか?または10から1000?確かに、10個または1000個の列ファミリーではヒープスペースが不足する可能性があります。これは、データを挿入する速度に大きく依存します。
Cassandra Wikiによると、「ノードごとに」消費されるヒープサイズは次のように定義されます 。memtable_throughput_in_mb*3*ホットCFの数+1G+内部キャッシュ (参照:MemtableThresholds)
それで、最初の質問に答えるために: それはヒープ使用率に何か影響を及ぼしますか? はい。
q2に関しては、最新バージョンのOOMの可能性はないと強く信じています。Cassandraのバージョン1.1で説明したように、CFごとの構成memtable_throughput_in_mbは、グローバルメモリ構成(memtable_total_space_in_mb)に置き換えられます。この構成は、上記の式の--memtable_throughput_in_mb*ホットCFの数と同等です。これにより、JVMヒープサイズがCFの数に比例せず、常にグローバル構成によって保護されます。