📓

なぜ、IT業界ではRDB→NoSQL, XML→JSONのようなデータの先祖返りが起きたのか?

に公開

はじめに

IT業界におけるデータ構造やフォーマットの変遷を振り返ると、一見すると不可解な「後退」が起きているように見えることがあります。かつては、厳密に定義されたスキーマを持ち、正規化された構造で保存されていたデータが、現在では再び柔軟性を重視したスキーマレスな形式へと移行しています。同様に、厳格な文法と意味論を備えたXMLも、より軽量で扱いやすいJSONに置き換えられてきました。

このような変化は、単なる技術的流行や一時的な好みの違いではなく、時代背景や社会構造、技術的制約の変化によって必然的に生じたものです。本稿では、こうした「先祖返り」ともいえる現象がなぜ起きたのかを、各時代の技術や社会的要請に照らして考察していきます。

ハード依存の70〜80年代:効率性最優先の設計

1970年代から1980年代にかけてのデータ処理では、メインフレームを中心とした計算資源が極めて限られており、CPU性能、メモリ容量、ストレージの単価など、すべてにおいて高価かつ低性能という制約が存在していました。そのため、開発者は1バイト単位での効率化を強く意識せざるを得ませんでした。

このような背景から、データ構造もハードウェアに強く依存しており、物理構造に直結した形で設計されていました。代表的なものがCODASYL型のネットワークDBであり、順編成、固定長レコード、ポインタによるリスト構造などが主流でした。プログラムとデータは密接に結びつき、抽象化よりも実行効率が優先されていたのです。

外部出力においても、構造が固定されたバイナリ形式や順編成ダンプなどが用いられ、可搬性や可読性よりも処理速度が重視されていました。

明示性・文脈重視の90〜00年代:構造の普遍化への志向

1990年代から2000年代にかけては、コンピュータの性能向上とPCやUNIXサーバの普及により、開発環境が大きく変化しました。ハードウェアの処理能力に余裕が出てきたことにより、開発者は純粋な効率よりも、保守性や可搬性、意味の一貫性といった観点を重視するようになりました。

この時期には、リレーショナルデータベース(RDBMS)が広く普及しました。スキーマに基づいて整然とデータを管理するという思想が受け入れられ、SQLという統一的なクエリ言語によってデータとプログラムの独立性が高まりました。

また、インターネットとWeb技術の発展により、異なるシステムや企業間でデータを交換する必要が増えました。XMLはその要請に応える形で登場し、タグと属性によって文脈や意味を構造的に表現できる手段として支持されました。この時代は、意味の明示性と情報の構造化に対してリソースを割く余裕があり、「正しさ」や「整合性」が優先された時代であったといえます。

データ爆発と実用主義の10〜20年代:スキーマの限界

2010年代に入ると、状況は一変します。クラウドコンピューティング、スマートフォン、IoT、SNSなどの技術が爆発的に普及し、人間だけでなく機械も膨大なデータを生成するようになりました。これまで人間中心だった情報処理の構造が、機械主体のデータ生成モデルに変化したことで、データの量と種類が指数関数的に増大しました。

その結果、これまでのようにすべてのデータにスキーマを定義して処理することが現実的ではなくなりました。ログ、センサー出力、ユーザ行動の履歴、SNS投稿などは、常に変化しており、構造が固定されていません。こうした状況下では、データの柔軟性や即時性が求められ、厳密なスキーマはむしろ障害となってしまいました。

このような背景のもと、NoSQLが注目を集めるようになりました。MongoDBのようなドキュメント指向データベースでは、JSONやBSONといったスキーマレスな形式でデータを保存し、高速で柔軟な操作が可能となっています。また、データ交換の場面でも、XMLのような冗長な形式ではなく、軽量で扱いやすいJSONが主流となってきました。開発者にとっても、JSONはより直感的で扱いやすく、スピード重視の現場に適していました。

クラウドとスマホ:変革の両輪

ここで、「なぜ明示性を諦めてまでスキーマレスに移行せざるを得なかったのか?」という問いが生まれます。その背景には、クラウドとスマートフォンという二つの技術的ブレイクスルーの存在があります。

まず、2006年にAmazonが提供を開始したEC2に代表されるクラウドの登場です。これにより、サーバリソースの調達が数分で可能となり、インフラがサービス化されました。計算資源は潤沢に利用できるようになり、大量のデータをリアルタイムで処理する分散システムの構築が一気に加速しました。

次に、2007年にAppleがiPhoneを発表し、スマートフォンが一般化したことも大きな転換点です。これにより、人々は常時インターネットに接続され、位置情報、写真、動画、音声などの非構造データを日常的に発信するようになりました。スマホは世界中にデータ生成装置をばらまいたとも言えます。

このように、スマートフォンが「データの爆発的発生源」となり、クラウドが「その処理を可能にする装置」として機能したことで、明示性に基づく構造化よりも、柔軟性と速度を優先する流れが決定的になったのです。

技術的な先祖返りではなく、社会構造の進化

RDBMSからNoSQLへ、XMLからJSONへの流れを単なる「先祖返り」とみなすのは適切ではありません。確かに、順編成やスキーマレスといった形式は、1970年代のアプローチに似て見えるかもしれません。しかし、本質的にはまったく異なります。

1970〜80年代のそれは、性能制約によるやむを得ない選択でした。一方、現代のNoSQLやJSONは、豊富な計算資源と高速ネットワークのもとで、選択可能な手段の中から、柔軟性や即応性を優先して選ばれたものです。つまり、これは退化ではなく、制約が消えたからこそ可能になった合理的な進化なのです。

XMLやRDBMSの時代が間違っていたのではなく、その時代には確かに意味があり、目的に適っていました。しかし今は、明示性を保つコスト自体が社会の処理能力を超えてしまったために、設計思想を再定義する必要が生じたのです。

まとめ

RDBMSからNoSQLへ、XMLからJSONへという変化は、一見すると技術的な「後戻り」に思えるかもしれませんが、実際には社会構造や技術基盤の大転換に応じた自然な進化です。データの量と多様性が爆発し、即応性や柔軟性が最優先される現代においては、過去のような厳密な構造定義では対応できなくなっています。

70〜80年代は効率性、90〜00年代は構造化と明示性、そして10〜20年代は柔軟性と即時性が最重要とされました。その結果として、私たちは再びスキーマレスで柔軟な形式に立ち戻ることになりました。しかしそれは過去への回帰ではなく、現代にふさわしい新たな最適解としての姿なのです。

Discussion