1
我正在使用Cassandra來保存我們需要處理的某些分析的計數器字段。爲什麼在Cassandra中增加一個計數器時會看到「讀取」?
我注意到,對於給定的寫入事件(其中一堆計數器遞增),似乎有一個「讀取」操作。這意味着讀取在等待「寫入」操作完成時排隊。
我的理解是,應該沒有讀取,並且只是對每個事務寫入計數器增量。
一些額外的信息:
- 我使用Seestar(二郎卡桑德拉司機)
- 的增量通過執行預處理語句來完成。準備好的語句被緩存,並且不會每次都重新準備。
- 該聲明不稱爲「異步」。
- 我們正在使用Cassandra的V2.0則
Nodetool的輸出顯示,有對每3個寫1讀。
請注意,當我在單個節點羣集中進行本地測試時,讀取次數爲零 - 因此這只是發生在我們的生產環境中。
謝謝 - 這是最終的正確答案,但我認爲我會給出額外的上下文:我在cassandra-stress中運行了counter_add測試,並且沒有讀取」。但是,cassandra-stress腳本添加了新分區,而不是增加現有分區。添加新分區不會產生讀取,而增加現有分區會產生讀取!謝謝。 – 2015-02-07 12:27:44