この時代はメインフレームが強固なシステムであったため、処理のスピード、データの強固性、システムの稼働率の高さなどは当たり前であって、運用コストの問題はあったものの、オープンシステムのリレーショナルデータベースが出てきた1980年代から1990年代にかけて、新しいRDBに対して多くの会社が「ミッションクリティカルでは使えない」「不安定」「稼働率が下がる」「パフォーマンスが悪い」「難しい」といった発言をしていました。 現在のRDBに対してのコメントとしては信じられないですが、なんとなく、今のNoSQLに対する多くのコメントと似ているような気もします。
1990年を過ぎてくると技術の革新とともにRDBもより多く受け入れられるようになります。メインフレームからオープンシステムのデータベースへの流れは運用コストの問題からダウンサイジング、という言葉とともに急速に進みます。また、多くの技術者、利用者にオープンシステムのデータモデルとはどういうものであるのかの理解が進んだのが大きかったと思います。1990年代以降、時代はアプリケーション構造を中心としたリレーショナルデータモデルのデータベース全盛期となり、今日まで続いています。
ところがここ数年、インターネットやモバイル端末を利用するIoTで利用されるデータベースを中心に、データやコンテンツを中心にしたビジネスを展開している多くの企業がRDBだけではなくデータを中心としたNoSQLを使ってビジネス展開しているという事実が明らかになってきます。この2010年代以降の動きは、メインフレームからオープンシステムへの移行が進んだ頃と似ていると思います。
当時は、コスト面とダウンサイジングであったように、NoSQLデータベース環境を採用する理由の多くも、市場の要請と技術要件に関係します。スケーラビリティや可用性、耐障害性を判断基準にした際に多くのアプリケーションが新しい分野についてはNoSQLを選ぶ時代になってきています。

図1:つながるIoT時代へのデータベース新技術(筆者作成)
なぜNoSQLなのか?
図1の通り1990年以降はRDBの時代が続きます。しかしながら、2000年代半ばになるとインターネットサービスを展開するAmazonやGoogle、Facebookといったネット企業がRDBではなく、新たにオープンソースで専用のデータベースを開発して利用しようとする動きがでてきます。
それがAmazon Web Servicesの「DynamoDB」やGoogleの「BigTable」、Facebookの「Cassandra」といったものです。これらが今日のNoSQLのブームの火付け役となっています。一つ絶対に間違えていけないのは、NoSQLはRDBにすべて置き換わるものではないということです。
Hadoopが出てきた時と同じように、データ量の増加やアクセスへの要求、スケーラビリティへの要求、値段へのプレッシャー、そしてなによりIoTやコンテンツを中心としたアプリケーションのような従来のRDBでは対応しきれない分野においてこそNoSQLが必要なのです。

図2:NoSQLやHadoopはRDBでは対応が難しい領域(筆者作成)