我對使用Cassandra很有新意,並有一個基本問題,我正在尋求答案。我正在使用大小分層的默認壓縮策略。我知道,這是可以改變的,以拉平壓實戰略,運行如下命令:卡桑德拉壓實策略可以動態改變嗎?
ALTER TABLE users WITH
compaction = { 'class' : 'LeveledCompactionStrategy' }
不過,我如果這種改變需要生效在運行時在一個特定的密鑰空間,或者如果我需要不確定重新啓動節點以使更改生效。我在Datastax文檔(http://www.datastax.com/documentation/cassandra/1.2/cassandra/configuration/configCassandra_yaml_r.html)中看過,cassandra.yaml文件中的全局配置更改僅在節點重新啓動後生效,並且想知道是否也適用於特定於鍵空間的屬性(如壓縮策略)。
在此先感謝您的幫助。
感謝您的快速回復布萊斯。我確實看過你幾小時後發佈的文章:)並且我認爲我們確實有一個強大的用例,它基於以下事實: 1)雖然Cassandra通常寫入最優,但我們有一個具有高讀寫比的用例。 2)讀取延遲對我們同樣重要。 3)除了寫入外,我們還經常更新數據。 這就是說,我仍然需要完全評估這一點,並且在向我的團隊提出這個建議之前,需要自己收集所有事實(我正在做的是這些事情)。 – Rohit 2014-10-29 21:23:00
另外,有沒有一種方法可以翻轉策略,並驗證它實際上是否使用了正確的策略,除了實際進入並檢查SS表的大小等。 – Rohit 2014-10-29 21:35:15
@Rohit這是一個很好的問題,我不知道如果有。在日誌或'nodetool compactionstats'的輸出中沒有出現任何東西來指示正在使用哪種壓縮策略。 – Aaron 2014-10-29 21:46:03