筆者が日経ソフトウエアに異動してきたのは5年前。当時、日経ソフトウエアで「データベースを学ぶ企画」と言えば、米OracleのOracle DatabaseやMySQL、米MicrosoftのSQL Serverを中心に取り上げるものだった。

 これらはみな、リレーショナルモデルという理論をベースにしたリレーショナルデータベース管理システム(Relational Database Management System、RDBMS)である。一昔前ではRDBMSさえ理解しておけば、業務アプリケーションから個人向けのWebアプリケーションに至るまで、データベースを使ったアプリケーション開発に事欠くことはなかった。

スマホ&クラウドの普及で変化

 あれから5年の月日が流れた今、急速に拡大するスマートフォン&クラウド市場によって、開発者が学ぶべきデータベースに変化が生じている。従来のRDBMSの知識に加えて、スマートフォン開発における組み込み型データベースやクラウド環境で利用できるKVS(Key Value Store)型データベースの知識が欠かせなくなっているのだ。

 AndroidやiPhoneには「SQLite」という組み込み型のRDBMSが入っている。スマートフォンのアプリケーション開発では、SQLiteのような組み込み型データベースにデータを保存することが多い。ファイルシステムよりも高機能で開発が容易なことに加えて、複数のプロセスが同じデータを利用しても安全だからだ。これからスマートフォンのアプリケーション開発をするなら、組み込み型データベースの知識が必須だろう。

 さらに、クラウド環境で利用するKVS型データベースの知識も欠かせない。クラウド上のデータベースは、これまでのRDBMSをはるかに超える規模で運用できるのが最大のメリットだ。ただし、設計思想が従来のリレーショナルモデルとは大きく異なる。代表的なクラウドサービスである米Googleのキーバリュー型データベース「Bigtable」では、これまでのRDBMSが備えていた機能を削除している。

スマホとクラウドの連携が“旬”

 最近のトレンドとして、クラウド上のデータベースとスマートフォンを連携させて利用するアプリケーションがある。その代表例がクラウド型ストレージサービスだろう。DropboxやEvernote、SugarSyncなどは、スマートフォンからもPCからもクラウド上にデータを保存できる。無償で利用できる領域を設けていることも魅力だ。

 さらに米Appleは、今秋に新サービス「iCloud」を開始予定だ。詳細は発表されていないが、前述したクラウド型ストレージサービスを活用したアプリケーションが登場するに違いない。このiCloudの登場によって、ますますスマートフォンとクラウドを連携するアプリケーションは増えていくことだろう。

 なお、日経ソフトウエア2011年9月号では、SQLiteとGoogleのDatastoreについて学習する「スマホ&クラウド時代のデータベース入門」の特集を組んだ。AndroidからSQLiteのデータベースを操作して、Google App Engine上のDatastoreと連携させるまでを解説している。具体的なスマホ&クラウドの活用方法を知りたい方は、一読いただければ幸いである。