ナウいNoSQLサーバを探す

今からDBを扱うシステムを作るつもりで下調べ。 これまではMySQLとかでやってたけど、今からやるならNoSQLよねー。 Redisでやるかと思ったら、最新版では仮想メモリ機構が非推奨となっていたようだ。 これでは、さくらVPSでは512MBしか使えない。 それじゃ困るので他のものを探してみる。

各種NoSQLデータベースについては、 http://gihyo.jp/dev/serial/01/various-nosql/0001に纏まっている。 TokyoTyrant, Flare, ROMA, Redis, MongoDB, CouchDB, Cassandra, HBase, HyperTable memcachedと同じように動作するが、データのキューイングもしてくれるということなので、 TokyoCabinet/Tyrantがいいかな?

と思ったら、TokyoTyrantはきちんとflagを立ててくれないらしい。 こんな二年前から指摘されている問題は、大抵誰かが対応しているので、 うまいこと扱えるライブラリを探してみたところ、 xmemcachedというライブラリならうまく扱えるようだ。 確かに「TokyoTyrantはKestrelと同じくflagに対応していないので、 valueの最初の4バイトにデータを書き込んでflagの代わりにするよ」 ということが書いてある。 うまくいきそう…というよりKestrelってなんぞ。

Twitterで使っているScalaで書かれたオープンソースのメッセージキューサーバー」 らしい。機能的には大体同じようだ。 twitterで使っているのか。Tokyo Tyrantはmixiだったな… よし。Kestrelを使うことにしよう(何

でもtwitterってCassandraを使っているんじゃなかったっけ。 要所要所で使い分けてるのかな。

追記 MongoDBも面白そうだ。

Written on February 24, 2012