企業はなぜNoSQLに興味がないのか?
企業のIT担当者の44%がNoSQLを知らず、また17%は興味がない、という結果が、ReadWrite Webの記事「NoSQL? Never Heard of It, Say Most IT Pros」(NoSQL? 聞いたことないなあ、と多くのIT担当者)で紹介されています。
これは米Information Weekが755人のIT担当者に対して行った結果を紹介したもの。逆に、NoSQLをすでに利用している、もしくはテストしている企業は5%しかありませんでした。
企業はなぜNoSQLに興味がないのか?
なぜNoSQLは企業のIT担当者にとって興味がないものなのか? 著名なデータベース研究者であり、またWebスケールに対応した新たなリレーショナルデータベース「VoltDB」の開発なども行っているマイケル・ストーンブレイカー氏が、米国の計算機学会であるACMのWebサイト「Communications of the ACM」に掲載された「Why Enterprises Are Uninterested in NoSQL」(なぜ企業はNoSQLに興味がないのか)で考察しています。
ストーンブレイカー氏が挙げた理由は3つ。ポイントをまとめてみましょう。
No ACID Equals No Interest
企業の重要な業務はOLTPデータベースによって支えられており、それにはACID(原子性、一貫性、独立性、永続性)を保証するトランザクションが必要である。将来にわたってこれが重要だと考えられている。
A Low-Level Query Language is Death
データウェアハウスではアドホックなクエリが頻繁に発行されており、SQLのような高級言語がそうしたアドホックなクエリの記述を支えてきた。NoSQLの多くが持つアルゴリズム的なインターフェイスには興味がない。
NoSQL Means No Standards
プログラマが複数のインターフェイスを学ばなければならないようなデータベースの混在を企業は心配しているため、大企業ではSQLのような標準が重視される。
NoSQLは新しいアプリケーションのためにあるのではないか
ストーンブレイカー氏が挙げた理由はたしかにどれもそのとおりだと思います。しかしそれは、NoSQLをいままでのリレーショナルデータベースに代わるものとして使おうとしたときの課題ではないでしょうか。
NoSQLは、いままでのリレーショナルデータベースが使われてきたアプリケーションとは別のアプリケーションのために開発されたものです。よりスケーラビリティが必要だったり、大規模データ処理が必要だったり、あるいはまだ存在しない新たな用途のために使うのが(少なくともいまのところは)適切であり、能力を発揮するものでしょう。
いわゆる情報爆発の時代を迎えて、企業にもそうした大規模データを処理するための新たなアプリケーションが必要となってきています。HadoopのようなNoSQLの一種がビジネスインテリジェンスの分野で新たなアプリケーションの基盤となっているのはよい例です。
ただし、NoSQLの普及で最大の障害となりそうなのは、ストーンブレイカー氏が最後に指摘した「標準がない」ことであることには同意します。黎明期のいまは仕方のないことだと思いますが、製品ごとにばらばらのインターフェイスを備えているのは学習コストが高すぎます。いくつかの標準的なアクセス方法やインターフェイスに収れんしていく、あるいはNoSQLそのもののバリエーションが製品の淘汰などによって絞られていくこと、などの成熟さは必要だと思います。