やっとこれで、かっこよくなって、彼女できるかと思っていたのですが、残念ながら服を買っただけでは彼女はできそうにはないです。秋服なので涼しくなったら着てモテモテになりたいと思います。
さて、平林さんが開発されているTokyoCabinet、TokyoTyrant、TokyoDystopiaは個人的にでたまに暇を見つけて仕事では使いもしないのに検証作業をしています。
PHPから使う方法を社内勉強会で簡単に解説をしたのでそれを、それをテキスト起こしておいておきます。
まず簡単に各アプリケーションについて解説しますと。
- Tokyo Cabinet
-
- ハッシュ型のデータベース
- というよりデータベースマネージャ
- インターフェースはCのAPI
- 高速
- TokyoDystopia、TokyoTyrantのストレージエンジン
- Tokyo Tyrant
-
- TokyoCabinetのネットワークインターフェース
- memcached互換のインターフェース
- オリジナルのネットワークインターフェース(細かくやろうとするとこちらを使うことになる)
- Tokyo Dystopia
-
- TokyoCabinetをストレージエンジンとした前文検索エンジン
- インターフェースはCのAPI
おそらく、Webアプリケーションからは、TokyoTyrantを直接使ったり、TokyoDystpiaにネットワークインターフェースを一枚かぶせて使うことになると思います。
大まかに図にしてみると以下のようになります。
それぞれPHPから利用するためには以下のようなモジュールを使うことになります。
- Tokyo Cabinet
- TokyoCabinetをPHPから直接使うには、id:rskyさんのモジュールが利用できます。
- Tokyo Tyrant
-
TokyoTyrantは基本的にPHPからはmemcache互換のインターフェースを使うと簡単に利用できますが、PHPのmemcacheの関数はいくつか不足している機能があるので、個人的には、拙作のTokyoTyrantのネイティブなネットワークAPIのインターフェースをしゃべるpure phpライブラリを使うことにしています。
gree labsさんで公開されてるmemcachedのインターフェースだとまた事情はかわってくるかもしれませんが、さすがに出たてでまだまったく検証できていません。
- Tokyo Dystopia
- TokyoDystopiaを使う場合はgree labsさんで公開されているライブラリを利用することになります。
そんなわけで、ほとんどのモジュールがPHPから使えることがわかっていただけたかと思います。もちろん、それぞれ要検証ですが、この記事が何かの折、誰かの役に立てば幸いです。