Hatena::Groupdann

dann's blog このページをアンテナに追加 RSSフィード

Fork me on GitHub

2010-03-11

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

Cassandraの書き込み部分の実装箇所 - dann's blog を含むブックマーク はてなブックマーク - Cassandraの書き込み部分の実装箇所 - dann's blog Cassandraの書き込み部分の実装箇所 - dann's blog のブックマークコメント

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クラス。