Nosql

記憶體表中的 cassandra

  • August 4, 2015

我計劃在記憶體表中使用 Cassandra 來完成我的特定工作負載。問題是我擔心如果節點失敗,那麼記憶體中未刷新到磁碟的數據會發生什麼?

我會失去這些數據嗎?

我會失去這些數據嗎?

好問題!如The Write Path To Compaction的 DataStax 文件部分所述,您不會失去數據。

在此處輸入圖像描述

如您所見,當 Cassandra 處理寫入操作時,數據會同時寫入送出日誌(磁碟上)和記憶體表(您提到的)。如果發生“拔出牆”事件,寫入仍在送出日誌中。當 Cassandra 在節點上重新啟動時,它首先會重放送出日誌,並驗證其所有數據是否已寫入磁碟。如果它在送出日誌中發現沒有刷新到磁碟的數據,它會在那個時候寫入磁碟。

引用自:https://dba.stackexchange.com/questions/106606