2015-01-02 83 views
1

我玩弄Python和一些的NoSql DB的創建文件存儲(主要是因爲建在複製),我的MongoDB和其工作嘗試過進行碎片整理,但由於「寫貪婪」本性MongoDB的我搬到了cassandra並實施了同樣的事情。雖然它的工作,我想知道(指向我的文檔,將罰款)如何碎片整理cassandra中的數據。我會用例子來解釋一下,比如說我上傳了200 MB的文件,然後是20 MB的文件。現在cassandra的數據大小是〜220MB。如果我去並刪除200MB文件,那麼我也看到數據大小是〜200MB,這樣空間不會被回收。在mongoDB中有一個命令獲得(重新使用相同的空間用於新文件),我想知道在cassandra中可以實現相同的效果。我正在困惑黑白壓縮&壓實。如何在卡桑德拉表

爲了存儲數據,我將文件部分拆分,然後在表中存儲爲「blob」。

回答

0

卡桑德拉清理刪除,並且使用稱爲compaction處理過期數據。

雖然你可以強迫自己使用nodetool compact compactions,我不會推薦這個,因爲它是更好地調整壓實,讓它在後臺發生。

由於cassandra具有一個名爲'gc_grace_seconds'的配置屬性,可以防止數據被標記爲刪除(通過邏輯刪除)刪除,直到gc_grace_seconds通過爲止。默認值爲10天,但您可以將其配置爲較小的值,或者甚至將其設置爲0以禁用墓碑。

+0

謝謝安迪:)移動應用程序不允許我upvote或如預期ans –

+0

不用擔心,樂意幫助! :) –