2017-04-11 159 views
3

我正在創建一個表,它將包含很多(我們正在說億元,如果不是十億)由主鍵存儲的數據,這將是一年存儲爲int的數據。 我們這樣做是因爲我們希望能夠執行簡單清除。Cassandra - 快速刪除存儲在主鍵值中的所有行?

表是這樣的:

TABLE data (
year int, 
fulldate date, 
ref1 text, 
ref2 text, 
data blob, 
PRIMARY KEY ((year), fulldate, ref1, ref2) 
); 

在未來,我們計劃放棄一年的所有數據,並沒有任何更多的數據添加到這個特殊的年份。

我們能否以有效的方式刪除主鍵值存儲的所有數據?喜歡做類似下降的事情?

我在文檔中沒有看到關於這種事情的任何內容,但我對Cassandra是新手,所以也許有內部優化完成或什麼?

感謝您的幫助。

回答

2

是的,您可以只用一個查詢來刪除分區鍵的所有數據。

只需指定刪除時的分區鍵年。

DELETE from data WHERE year = 2017; 

它很有效,因爲它只爲該分區值創建單個邏輯刪除。

+0

非常感謝,我知道查詢,但我不確定它的優化:D – MrBouh