筆者はこの数週間、SQL陣営とNoSQL陣営のデータベース企業から話を聞いている。各社のデータベースの進歩(とユーザーの利用方法)について話せば話すほど、SQLとNoSQLの隔たりが縮まっていることが明白になった。
そのことは、最も大規模なデータベースでさえも変化していることに注目するだけで分かる。OracleはインメモリツールでNoSQLのパターンを採用し、Microsoftの「SQL Server」も新しいカラムストアで同じことをしている。大手企業は、新しい用途や新しいデータモデルのサポートを求める顧客の要望を受けて、新規参入企業から学習し、そのやり方を採り入れている。
処理が必要なデータの量は爆発的に増加し続けているため、使用されるツールも変わらなければならない。大規模なNoSQLシステムはストリーム処理ツールとして、将来のモノのインターネット(Internet of things:IoT)で膨大な数のセンサが生み出すデータの氾濫に、効果的に対応できるかもしれない。しかし、クラウド上のどこかにある回転数の遅いディスクに保存された何テラバイトもの過去データを扱うときは、どうすればいいのか。NoSQLはSQLの手法を採用することで、これらの新しいシナリオをより多くサポートできるようになる。同じことがSQLにも当てはまる。
これからの世界では、使っているのがSQLなのか、NoSQLなのか、ほかの技術なのかは重要でなくなる。重要なのは、自社の用途やアプリケーションに最適なデータベースエンジンを使うことだ。それが意味するのは、本番環境への移行前に少し時間を費やしてツールを評価することかもしれないし、選んだデータベースで異なる機能セットを使うことかもしれない。どちらも正しい答えではないが、それよりも重要なことは、どちらも間違った答えではないということだ。
実際のところ、大半のユーザーが求めているのは、自社のデータを保存し、そのコンテンツに関して基本的なクエリを実行して必要な情報を検索する場所だけだ。アクセスさえ可能であれば、そのデータの形式は何でもいい。このスモールデータの世界は、ビッグデータの原動力である巨大データベースの対極に位置するものだ。スモールデータはデータ自体に価値があるのに対し、ビッグデータではデータが教えてくれることに価値がある。