概要: CouchDB に今更ながら興味を持った。
という話。
さきに目を通しておくと良いもの
CouchDB とは何か
まず、色々ドキュメントやら何やらを読んで感じたのは、
- CouchDB とは
- _ 分散 JSON ストレージ_
- ではないか?
ということ。
もうちょっと分かりやすく言うと、CouchDB とは、
- JSON に特化し
- Javascript で MapReduce できる
- distributed な Amazon S3
みたいなもんなのかなーと。
というのも、CouchDB はスキーマレス、というよりは、 JSON なら何でも突っ込める感じだし、 RDBMS でいうテーブルに相当するものがない。
んで次に面白いな、と思ったのは、
- Javascript で MapReduce できる
という点。
Kyoto Tycoon の Lua 拡張でも同じような感想を持ったんだけど、 データベースでスクリプティングできるって何それ素敵やん、 という感じ。
あと、プログラマーにとっては、
- スクリプティングできる=なんでもできる!
というコトなので、それはそれで面白いなーと。
あと、今の時代、分散できないデータベース(w という風潮があるような気がしているので、 その辺りもいい感じだなぁと。
CouchDB に上書きは無い。ただ、リビジョンが増えるだけだ
あともう一個面白いというか便利そうだなーと思ったのが、
- CouchDB には上書きがなく
- すべてはリビジョンで管理される
という点。
無論、既存の KVS とかを使うみたく、 上書き前提で使うときにはめんどい仕様だと思うんだけど、 例えば、バージョン管理付きの Wiki とか作りたいなー、 という時には便利じゃね? と僕は思う。
ちなみに今現在の Version(1.3.0)では、 なにやら過去のリビジョンが必要ない場合には吹っ飛ばせるもよう。 もちろん過去のリビジョンが必要なのに吹っ飛ばすとアレだけども。
まあそういう所も、結構いい感じだなーと、
ちなみに Couchbase との関係について
あと、僕は CouchDB に乗り遅れた人間なので、 あんまり詳しくはないのだけれども、CouchDB には、
という親戚がいるっぽい。
で、この Couchbase の方は、CouchDB の中の人が、 CouchDB の開発で得た知見等をもとに、 Membase やら何やらと悪魔合体させて作ったそうなんだけど、 なんか Couchbase を生み出した際になんか揉めたそうな。 CouchDB の開発はビジネスにならねー、みたいな?
まあそんな感じでごたごたしてた時期があったようなんだけど、 僕はその当時 CouchDB は名前ぐらいしか知らなかったっぽいので、 ほとんど何がどうだ、って知りはしないんですけどね(>_<;)
いじょ
という感じでまあ最近 CouchDB に興味津々なにゃるらさんでした。
まあ今までこういうゆるい感じで空繰再繰カラクリサイクルを更新することって無かったんだけど、Tumblr に引っ越してから、 その辺り身構えがなくなった感じがする。
っていうかまあローカルで Emacs 立ち上げてーとか、
iTerm2 でnim
で生成して出力チェックしてrsync
で同期してー、とか、
そういうめんどい手順がなくなったのは、いい感じだなぁと思います。
というコトでいじょ。おわり。
#FIXME