0
我在我的應用程序中使用cassandra,它開始耗盡磁盤空間,比我預期的要快得多,而且比手冊中定義的要快得多。考慮這個最簡單的例子:Cassandra 2.0佔用磁盤空間
CREATE TABLE sizer (
id ascii,
time timestamp,
value float,
PRIMARY KEY (id,time)
) WITH compression={'sstable_compression': ''}"
我關閉壓縮的目的是看看每個記錄有多少字節。
然後我插入幾個值,我運行nodetool flush
然後我檢查磁盤上的數據文件的大小,看看它需要多少空間。
結果顯示巨大的空間浪費。每個記錄需要67個字節,我不確定這是可能的。
我的ID長度爲13個字節,在數據文件中只保存一次,因爲它在測試中總是相同的。
尺寸應該是:
- 時間戳應該是8個字節
- 值作爲列名需要6字節
- 列值浮子需要4個字節
- 柱開銷15字節
- 總計:33字節
爲了測試,我的id始終是相同的,所以如果我理解正確,我實際上只有一行。
所以,我的問題是我如何結束在使用67個字節而不是33
數據文件大小是正確的,我試圖插入100,1000和10000條記錄。大小總是67個字節。
我的複製因素是一個,我只有一行,因爲我的id始終是相同的。所以如果我插入1000個值並且我只有一行,則整個行開銷大小並不重要。 – Rubycut
另外,行開銷是18字節,所以即使我們把它加到總和上,我們仍然是16個字節。 – Rubycut