Cassandra に支えられた Titan Graph DB サーバーを永続ストアとして実行していますが、Cassandra トゥームストーンのしきい値の制限に達するという問題が発生しており、データが蓄積されるとクエリが定期的に失敗/タイムアウトします。追加された墓石の数に圧縮が追いついていないようです。
私たちのユースケースは以下をサポートしています:
- 高い読み取り/書き込みスループット。
- 読み取り感度が高い。
- Titan のノード値の頻繁な更新。Cassandra で行が更新されます。
上記の使用例を考慮して、以下を積極的に行うために Cassandra をすでに最適化しています。
- レベル化された圧縮戦略を使用した積極的な圧縮
- tombstone_compaction_interval を 60 秒として使用します。
- tombstone_threshold を 0.01 に使用する
- gc_grace_seconds を 1800 に設定する
次の最適化にもかかわらず、Cassandra ログに次のような警告が引き続き表示されます 。 )。8001 列が要求されました。スライス = [00-ff]、delInfo = {deletedAt = -9223372036854775808、localDeletion = 2147483647}
時折、時間の経過とともに、障害のしきい値を超えてエラーが発生することもあります。
cassandra.yaml ファイルの tombstone_warn_threshold は 10000 に設定されており、tombstone_failure_threshold は推奨値の 250000 よりもはるかに高く設定されていますが、特に目立ったメリットはありません。
さらに最適化する余地がある場合は、正しい構成を示すことができるヘルプがあれば大歓迎です。お時間とご協力いただきありがとうございます。