今回、ODBMS.ORG の編集長である Roberto V. Zicari 氏は、NoSQL についての2つの反対意見に関する議論を試みる。

参加しているのは、10gen 創設者で MongoDB 作成者の Dwight Merriman 氏など。

1:ある NoSQL からほかのシステムにデータを移動するのは、移動先がほかの NoSQL であってもとても大変だ。NoSQL について言えば、非常に厳しいロックインがある。もし、他のデータベースに移行しなければならないとしたら、基本的に、アプリケーションの多くは最初から再実装しなければならない。

2:NoSQL データストアにアクセスする標準的な方法はない。SQL 用の既存のツールはすべて、各 NoSQL データベースごとに再作成されなければならない。これは、NoSQL にあるデータにアクセスするのは、SQL からアクセスするよりも困難だ、ということを意味する。たとえば、いくつの NoSQL データベースがそのデータを Excel にエクスポートできるか(どの CEO も遅かれ早かれやりたいと思っていることだ)。

この投稿は、明らかに異なる視点をもったさまざまな専門家から受け取った一連のフィードバックの最初のものだ。もっとフィードバックが集まれば、パート2も公表する計画で、コメントを残して議論に参加するよう、Zicari 氏は呼びかけている。

――――

1:ある NoSQL からほかのシステムにデータを移動するのは、たとえ移動先がほかの NoSQL であっても、とても大変だ。

Dwight Merriman 氏(10gen 創設者で MongoDB 作成者):

それが時期尚早であることを認める。時間をかけてデータモデルで収斂することを期待している。

ところで、ほかの NoSQL 製品グループと、標準について話しているが、それも時期尚早で、何も起こりそうにない。NoSQL 製品の50%は JSON ベースのドキュメント指向データベースだ。だから、これは大きな共通項だ。JSON を使えば、柔軟性が得られる。JSON は、標準ベースであり、一般に広く使われている。JSON を使った例には、MongoDB 、couchdb、riak がある。(Mongo は内部に「BSON」を格納している)。だから、これらを横切ってデータを移動するのは、それほど困難ではない。

1:他のデータベースに移動しなければならなくなったときは、基本的にアプリケーションの多くを最初から再実装する必要がある。

Dwight Merriman 氏

そうだ。事態は永遠に変わらないと思いたくはないが、今のところはそうだ。また、リレーショナルの移動性については、若干の幻想があると思う。SQL の微妙な相違が、機能の中程度の相違が、ストアドプロシージャ言語の巨大な相違がある。

ずいぶん前に DoubleClick で SQL Server から Oracle に移行したことを覚えているが、それは巨大プロジェクトだった。(SQL server が気に入っており、ただ、それを大きなサーバー上で稼働させたかった。すなわち、そのとき垂直拡大したかったのだ)
また、移植がうまくいっており、これらの製品がほぼすべてオープンソースだと仮定すると、ロックインの潜在的「リスク」は、1桁落ちることだ。ベンダーはオープンソースではそんなには課金できないからだ。

皮肉なことに、Oracle を使用すると高額に課金されるが、まだ理論的には、人々が望む移植性の属性があるのだ。

将来、全製品を統合する BI ツールのインターフェイスは SQL 風を期待したい。だからと言って、それがアプリケーションを書く方法を意味するのではない。私は現在でも、それらがアプリケーション開発の生産性の理想だとは全く考えない。

この記事の全文はこちら

NoSQL データストアに対する2つの反対意見
MongoDB トップページ