2012-03-01 97 views
1

我的使用情況預計重讀取負載 - 有兩種可能的模型設計策略:卡桑德拉緩存模式與thiny和寬行

  1. 與行高速緩存微小行:在這種情況下排小到足以放入RAM和所有列正在緩存。閱讀訪問應該很快。

  2. 帶鍵緩存的寬行。行數較多的寬行對於行緩存較大。訪問列子集需要HDD查找。

據我所知,使用寬行是一個很好的設計模式。但是我們需要禁用行緩存 - 所以......這樣的寬行有什麼好處(至少對於讀訪問)?

哪種方法更好1或2?

回答

0

行緩存不必提高讀取性能。

當禁用行緩存並啓用密鑰緩存時Cassandra將直接從硬盤直接讀取數據直接跳轉到右偏移量(基於密鑰緩存)。在這種情況下,操作系統會緩存HDD訪問。

Cassandra將文件打開爲虛擬文件 - 在這種情況下,文件在現實中被當作「從內存中讀取」進行處理,首先讀取到硬盤,而第二次讀取則從內存中提供。只有已經訪問過的文件部分被加載到內存中(加上預讀128kb)

我的負載測試(3臺服務器有8個核心氙,24GB RAM,卡桑德拉60GB數據)顯示,行緩存和文件系統緩存具有相似性性能 - 操作系統緩存導致CPU負載較低