2015-03-13 15 views
2

使用均衡壓縮的低TTL,我應該減少gc_grace_seconds以提高讀取性能嗎?使用級別壓縮的低TTL,我應該減少gc_grace_seconds以提高讀取性能而不會影響刪除複製嗎?

場景: 卡桑德拉表緩存外部分貝值 - 讀取性能需要良好(小於100ms) TTL = 4個小時在行級別 功能全表刷新(刪除,然後延遲加載)每6小時 如果我保持gc_grace_seconds的默認值爲10天,我可能有60行與每個活動行的墓碑。這會影響讀取性能。或不?

是減少gc_grace_seconds說1天一個足夠安全的值,以允許跨節點刪除複製?鑑於即使某個節點出於某個問題而處於層級之外,也應該在不到一天的時間內恢復。這會提高閱讀性能嗎?

回答

1

我可能有60行與墓碑的每個活動行。這會影響讀取性能。或不?

是的,它肯定會影響你的閱讀表現。在數據/墓碑比例爲1:60時,您會要求Cassandra爲每一行都刪除60次刪除。如果你有很多記錄,它可能會非常糟糕。

正在減少gc_grace_seconds來說1天足夠安全的值以允許跨節點刪除複製嗎?鑑於即使某個節點出於某個問題而處於層級之外,也應該在不到一天的時間內恢復。這會提高閱讀性能嗎?

這會顯着提高您的閱讀效果。但是缺點是,如果你有一個節點退出集羣,那麼你只有1天的時間才能重新獲得它,然後它就不知道刪除了。但即使你錯過了它,你也應該能夠通過運行nodetool repair來讓你的節點回到一致的狀態。否則,您將面臨deleted data re-appearing的可能風險。

+0

感謝您的建議和確認。除此之外,我還有一個用於全表清除的用例。我手邊有一個選項是運行截斷(列族)cql。之後我可以自動截斷並刷新。這是這種桌子的推薦方法嗎? – 2015-03-19 20:39:45

+0

因此,即使使用Leveled Compaction,我是否應該減少gc_grace_seconds以提高讀取性能,而不會影響刪除複製? – deFreitas 2017-08-10 17:58:23

相關問題