2012-09-26 33 views
0

我的列族啓用了行緩存。我有批處理,它遍歷所有行以找到假設要刪除的行。結果行緩存正在刷新 - 它不包含「實際數據」,而是我的批處理結果。Cassandra - 使用行緩存的節點/ CQL查詢withoult

我可以執行Thrift/CQL查詢嗎?它會告訴Cassandra即使在啓用時也避免行緩存嗎?這對於Map-Reduce算法很有用。

回答

-1

爲什麼要避免行緩存,因爲它的設計始終與磁盤上的數據具有相同的數據? (即,先寫入行緩存的寫入,然後是磁盤,而讀取操作也是這樣)。避免具有最新數據的行緩存的用例是什麼?

另外,我聽說行緩存只能幫助處理5%的用例,並且通常應該保留它。我認爲PlayOrm用於使用行緩存的用例可能是5%的用例之一,它可以告訴cassandra緩存它使用的3個索引列族,以便可擴展SQL查詢快速進入它的分區,因此查詢速度會快得多,但大多數用例通過行緩存減慢系統速度。

+1

我們有很多讀取權限很小的行 - 這是行緩存的最佳用例。爲什麼我應該加載到行緩存數據中,我只需要讀取一次(在批處理作業期間)? –