ヒマをみつけてWeb開発
その場の思い付きを、ヒマをみつけてWebサイトにしてみるブログ

CassandraのC#ドライバをThriftで生成する

Wednesday, 17 March 2010 22:19 by sabro

Thriftは、特殊な言語で書かれたテンプレートから、C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C# などの、コードを生成できるフレームワークです。FaceBookによって作られたらしいです。

FaceBookは、Cassandraというストレージを採用しているんですが、それにC#でアクセスするためのドライバは、Thriftを使って生成するようになってます。

Thriftをインストールには、いくつかライブラリをいれておく必要があります。Installing the required packages on CentOS 5にあるように、CentOSでは以下のコマンドでおっけーみたいですね。

sudo yum install automake libtool flex bison pkgconfig gcc-c++ boost-devel libevent-devel zlib-devel python-devel ruby-devel

※ C#のコードを生成する場合には、あとMono 1.2.4以上を入れとく必要があるみたいなんで注意です。

Thriftのソースはここからダウンロード出来ます。解凍して、お決まりのパターンでコンパイルします。./configureには色々オプションもあるみたいですが、とりあえずデフォルトでやりました。あ、今回もPaco使いました。

# ./configure
# make
# paco -D make install

インストールが終わったら、Cassandraのパッケージに入っている「cassandra.thrift」のあるディレクトリへ移動して、以下のコマンドを実行します。

# thrift --gen csharp cassandra.thrift

すると、「./gen-csharp/Apache/Cassandra」以下にコードが生成されます。あとは、これをビルドしてやるわけですが、ここにあるコードは、Thrift.dllを参照しているので、それをどっっかから持ってこないといけません。

実は、それはダウンロードしたソースの中にあります。「thrift/lib/csharp/src」の中に、コードとslnファイルがあるので、それをVisualStudioなどで開いてビルドしてやると、Thrift.dllが生成されます。

Thrift.dllを参照して、生成されたコードをビルドしてやれば、Cassandraドライバの出来上がりです( ̄∇  ̄ )

Tags:   , , , ,
Categories:   NoSQL
Actions:   Permalink | Comments (45) | Comment RSSRSS comment feed