RethinkDBが良さそうな気がしたので調べてみた

 日記書くの数カ月ぶりだけど、以下、何事もなかったかのように再開します。
 HackerNewsでRethinkDBのニュース記事が上位入賞していたのでちょっと調べてみた。MongoDBライクな感じで、独自のクエリ言語で使えるみたいだ。
 RethinkDBは元々はSSDに特化したMySQL用のストレージエンジンだったのが、方向転換してMemcached互換なサーバになった(そしてSSD特化という特徴を捨てた)というところまでは知っていたのだが、いつの間にこんなクエリ言語を備えていたのか。方向転換のニュースを見た時にはふーんぐらいにしか思わずオフィシャルサイトはチェックしなかったので、実は去年の時点ですでにクエリ言語とかも備えていたのかもしれないけど、githubとかで調べた感じだと1.2.0がThis is the first release of the productと書いてあるところからすると、最近大幅に変わったバージョンが公開されたばっかりっぽい。
 HackerNewsへのCEOの書き込みから引用すると、MongoDBと比べて

  • 分散joinとかサブクエリとかできるよ
  • MVCCだよ
  • クエリが並列で実行されるよ

 というあたりがウリらしい。分散joinができるのは珍しい気がする。joinはマイニングしてると結構ほしくなるので、分散環境でデフォルトでできるのはポイント高い。
 あと、v8を使っていて、サーバ側でコードを実行できるみたい。この機能は面白いし、いろんなことができそう。(v8は別プロセスで実行されるそうだ。)
 現状だとそもそもprimary key以外にインデックスが張れないということでちょっと試しに使ってみる分にも辛そうな感じだが、しばらくは今後の推移を追いかけたい。