データはどのように更新されるか

更新の書き込みパスの簡単な説明。

重複するプライマリ・キーを挿入すると、upsertとして扱われます。upsertは、データがこれまでに存在しなかった場合はデータベースに新しいレコードを書き込みます。このプライマリ・キーに対応するデータがすでに存在する場合は、新しいレコードはより新しいタイムスタンプで書き込まれます。読み取り時にデータが取得される場合は、最新のデータのみが取得されます。古いタイムスタンプ付きのデータは削除対象としてマークされます。実質的な効果は、Cassandraがデータを上書きしない場合でも、新しい値で古い値を上書きするスワップに似ています。更新は最終的に、シーケンシャルI/Oを使用してディスクにストリーミングされ、新しいSSTableに格納されます。更新時に、Cassandraは書き込みパスを使用して、カラムにタイムスタンプを付け、ディスクに書き込みます。複数のバージョンのカラムがmemtableに存在すると、Cassandraは「コンパクション」の項で説明したように、新しいバージョンのカラムのみをディスクにフラッシュします。