NoSQL

最近、一部でNoSQLというのがブームになりつつあるみたいですね。
もちろん、SQLの優位性が失われたわけではないのだけど。
やはり、ある程度の意味を持ったデータの塊をいじる場合にはクエリ
があると非常に便利な場面はあるわけで。
純粋なKVSではいわゆるクエリが(標準で)使用できないので用途によっては厳しい
一方で、GQL/amazon-sdbならSQLライク?な指定が可能
(って、最近amazon-sdbの話を聞かなくなった気がするんだけど。大丈夫なのか?)
トランザクション処理が必要な局面もあるでしょうし。

ただし、SQL的なものだと、どうしてもスキーマの定義が必要で、
これは場合によってはストレスになりうるので、スキーマレスというのは
重要な差別化ポイントだったりするのかと。

先日書いたように、データの並びが辞書(Python的には−Java的にはmap)であれば、KVS
の方が相性もいいんではないかと。

ベンチマークをとろうなんて思ったら既に実行されている方がいらっしゃるので、引用して
お茶を濁す
MongoDBのパフォーマンスをBerkeley DB, H2, MySQLと比較 - kaisehのブログ

Oracleがbdb(正確には開発元のsleepycat)を買ったのは潰すがため、ではなく
RDBでは対応できない分野があることを認めた上で、そこの市場を押さえたかったがため、
ということなんでしょうな。