処理量が増大すると、単体RDBMSがシステムのボトルネックになりがちだ。応答性を確保するには、集中型から分散型のDBへの移行が欠かせない。それにより、クラウドのポテンシャルを最大限に引き出せるようになる。

 いつしか、業務アプリが時代遅れの産物に成り下がっている―。

 GoogleやAmazon、Facebookをはじめとする、人気あるWebサービスはキビキビ動き、心地よく使える。例えば、入力中の検索キーワードの候補を表示するGoogleサジェスト機能。文字を入力するたびに逐次検索が実施され、瞬時に結果が示される。入力文字が多少誤っていても構わない。

 一方、業務システム。比べ物にならないほど、動作が遅い。例えば、部署名から部署コードを探すシーン。何文字か入力後、検索ボタンを押して1~2秒しないと検索結果が得られない。しかも入力文字に誤りがあると、期待した選択肢が示されない。

 GoogleなどのWebサービスが速い最大の理由は、裏側で膨大な数のPCが動き、分散処理していることにある。業務システムでも、性能や可用性を高めたい場合は分散処理技術を使う。Webサーバーやアプリケーションサーバーの並列化がそうだ。しかし、そうしたシステムにおいてもデータベースについては1台のRDBMSサーバーに集中させるのが、従来の常識だった。

 RDBMSは、同時書き込みによる矛盾発生の防止、およびリレーショナルモデルによる「one fact in one place(一つの事実は1カ所で管理する)」の実現といった高度な機能を持つ。それにより、ややこしいロジックをアプリケーションに実装せずに済む。SQLによる柔軟な問い合わせ機能も相まって、アプリの開発生産性が高くなる。

 このようにRDBは開発サイドにとって、使い勝手のよいDBだ。しかし、より多くのユーザーへ、より使い勝手のよいサービスを提供しようとすると、途端にボトルネックになってしまう。

この先は日経クロステック Active会員の登録が必要です

日経クロステック Activeは、IT/製造/建設各分野にかかわる企業向け製品・サービスについて、選択や導入を支援する情報サイトです。製品・サービス情報、導入事例などのコンテンツを多数掲載しています。初めてご覧になる際には、会員登録(無料)をお願いいたします。