Cassandra 0.7のソースコードを読んでいく。
apache-cassandra-0.7.0-src.tar.gzのソースを読み始めました。
「dir apache-cassandra-0.7.0-src\src\java\org /A:-H /S 」でディレクト内のファイルを調べてみると345ファイルあるようです。
これらのファイルを読んでいきたいと思います。
パッケージ構成に関して
「org/apache/cassandra」配下にいくつかサブパッケージがあります。
No | パッケージ名 | 概要 | |
---|---|---|---|
1 | auth | 認証用? | |
2 | avro | Apache Avro? | |
3 | cache | Cache処理? | |
4 | cli | CliClient? | |
5 | client | RingCacheというクラスが1つあった | |
6 | concurrent | 並列処理クラス? | |
7 | config | 設定ファイル系? | |
8 | db | DBの実装。一番ファイルが多そう | |
9 | dht | BootStrapperとあるのでなにかの処理系? | |
10 | gms | Gossipとある | |
11 | hadoop | hadoop連携用か? | |
12 | io | 保存処理などか? | |
13 | locator | ネットワーク処理か? | |
14 | net | ネットワーク系のなにか? | |
15 | scheduler | RoundRobinSchedulerというのがあった? | |
16 | service | サービスクラス? | |
17 | streaming | ストリーミング処理? | |
18 | thrift | CassandraServer、CassandraDaemonというのがあった | |
19 | tools | なんかのコマンドクラスがあった | |
20 | utils | ユーティリティクラス? |
とりあえず、「org.apache.cassandra.db.Column」やら「org.apache.cassandra.db.ColumnFamily」を眺めていた。
thriftクライアントで利用しているのは、ここのパッケージだと思ったら違う場所にあるようだ。
「interface/thrift/gen-java/org/apache/cassandra/thrift」にクライアント側で利用できる
クラスがいろいろ存在した。31クラスあった。