読者です 読者をやめる 読者になる 読者になる

Cassandraの書き込み部分の実装箇所

Memtable

パッケージは、org.apache.cassandra.db

IFlushable <-- Memtable
           <-- BinaryMemtable

writeSortedContentsがflushAndSignalメソッドから呼ばれている。flushされるタイミングは、先のエントリで書いたタイミング。flushAndSignalメソッドのcall hierarchyをたどれば書き込みのシーケンスが追える。flushAndSignalがIFlushableのメソッド。

CommitLog

パッケージは、org.apache.cassandra.db.commitlog
CommitLogクラス。

CommitLogをMemtableに書き出すのは、ColumnFamilyStoreのflush系のメソッド。

SSTable

org.apache.cassandra.io.sstable

SSTable <-- SSTableReader
        <-- SSTableWriter

SSTableWriterがSSTableに書き込むところ。Data, Index, BloomFilter。

Bloom Filter

パッケージは、org.apache.cassandra.utils
BloomFilterクラス。