00:08
はい、みなさんこんにちは。kkeethことくわはらです。本日もやっていきましょう。
kkeethのエンジニア雑談チャンネル。この番組では、ウェブ業界やエンジニアリング、いろんな技術についての情報を、
雑談形式で発信していきたいと思います。
で、今日は、前回の配信で喋っていた通りですけど、データベースの話ですね。
ちょっと歴史というか、起源を辿ってみたいかなと思います。
一応なんか、リレーショナルデータベースの起源を探るみたいなネタで前回終わったと思うんですけど、
調べていくと、そもそもデータベースそのものの起源が気になっていたので、そのままやっていきたいと思います。
はい。じゃあ、結構概要の話ですし、一応調べて裏を取ろうと頑張ったんですけど、
それとも、素人情報ですので、信憑性、正しさというところは、どこまで担保できているかちょっとわからないので、
その辺はご了承いただければと思います。
じゃあ、入っていきましょう。
そもそもデータベースの起源として、名前の由来からですね。
これはもう皆さんご存知かもしれないですけど、一応ここから触れていきたいと思います。
ちゃんと言葉として分けると、データとベースですね。
データ、いわゆる情報の断片とベース、いわゆる基地のことですね。
直訳するとデータ基地とか情報基地と呼ばれたりします。
この言葉っていうのは、いつ生まれたかというと、
おそらく第二次世界大戦頃の説が濃厚でしょうというところですね。
今まで調べた感じ、いろんな記事で書かれてましたけど、やはりここの情報が多かったので多分正しいと思います。
当時のアメリカ軍ですね。
米軍が敵国の情報を集めて、各々の基地にその情報を分けて分散保管をしていたというところですね。
これが発端になるらしく。
しかしですね、分散して保管をしていたんですけど、
ある敵国、英国の情報を得るときに、
その情報がどこの基地にあるかというのをまずそこから調べていかなきゃいけなくて、
正直手間がかかるし、めんどくさかったんですよね。煩わしかった。
で、情報というものをやっぱり一箇所にまとめたいよねっていうところがあります。
そのデータ専用の基地というものが生まれました。
誕生したというところで、データベースという言葉が誕生したという説が濃厚ですという話でした。
実際にシステムの方ですね、流れでできたのかというところですけど、
一番最初は1960年代以前の話ですね。
ここは一応、分水嶺なところらしくて。
それ以前のデータの管理というのは想像に堅くないですね。
古代から中世からもそうですけど、ずっと情報というのは手書きで書かれていました。
紙にも書かれたりとか、ファイルで管理されたりとか、
カードカトログみたいなもので管理されてたりしましたねという話です。
そこからちょっと発展をして、パソコンの歴史を勉強すると皆さん一度は聞いたことがあります。
パンチカードと言われるものですね。
19世紀から20世紀初頭にかけてパンチカードシステムというものが生まれています。
国によってはユニットレコード装置と言ったり、
日本も電気回帰機みたいな呼び方をしたらしいですね。
03:03
機械式のデータ処理技術が登場したという話です。
機械式カードシステム、データベースというのは僕は勝手にそう呼んでるだけです。
パンチカードシステムというのが一般的な名称ですね。
これが1960年代以前のお話で、
その後どうなったかというと1963年になります。
ここでGE社、ジェネラルエレクトリック社というところが
IDSというデータベースシステムというのを発表したんですね。
インテグレイティッドデータストアという名前ですね。
略称IDSというものが発表されまして、
これはいわゆる大規模の情報管理の手段として業界でもかなり注目を浴びました。
そこから1960年代後半、それに倣っていろんな各社がデータベースを作ったんですね。
IBM社はIMS、インフォメーションマネジメントシステムという
いわゆる階層型データベースというものを作りまして、
あとはCODACILという組織ですね。
Conference on Data Systems Languagesというような団体です。
Languagesっていうから言語っぽいですけど団体ですね。
CODACILという団体があって、
ここによって提案されたネットワーク型データベースというのも誕生しましたという感じです。
これは1960年代後半ですね。
ちなみにCODACILっていうのは、
アメリカ政府の情報システムに用いる標準言語を策定する協議会のことですね。
その名前がCODACILと言います。
さっきの頭文字取ったやつですね。
日本語だとデータシステムズ言語協会と呼ばれたりするというところです。
このCODACILっていうのは、
米国の国防総省とシステムメーカー、
もしくはユーザー代表メンバーとして構成されていたらしいですね。
今はちょっと分からないですけど。
そんな感じでいろんな各社がデータベースというのをどんどん作り始めて、
一気にデータベースの関心というのは業界で高まっていたという背景があります。
RDBの概念ですね。
リレーショナルデータベースの概念というのは、
そこからちょっと時間を置いて発表されるんですけど、
1970年、
IBMの研究者、
エドガーF.コッドによって初めて提唱されたものですね。
データベースのリレーショナルなところは、
IBMが先駆けだったらしいです。
論文の後に提唱された理論というものが、
CODの十二の規則と言われたりします。
十二の法則と言ったりする人もいますけど、
こういうものとして広く認知をされていますよ。
その後、RDBですね。
リレーショナルデータベースというのは、
データの一貫性とか整合性を確保するためのソリューションとしてものすごく注目を浴びまして、
多くのビジネスとか学術研究で利用されたことで、
ものすごい急速に大発展をしたと。
小中規模から全然大規模のビジネスが幅広く使われまして、
ソフトウェア業界で多大な影響を与えたというので、
リレーショナルデータベースというのがドーンと確信を遂げたと。
ちなみに余談ですけど、
リレーショナルデータベースが発表されたと同時にですね、
SQL、Structured Query Languageというものもセットで開発をされましたと。
SQLなしでリレーショナルデータベースを触るのはしんどそうだと思いますし、
06:00
普通にやるよねって感じだと思うので、
ここは自然な流れですね。
70年に発表されまして、
ついに1980年代にRDBMSが実際に開発もされてますよ。
はい、リレーショナルデータベースマネジメントシステム、
RDBMSと言われるものが誕生していきました。
オラクルが先駆けで出ましたし、
IBMのDB2と言われるものとか、
マイクロソフト、SQLサーバーなどが各社から開発されてますと。
やっぱりリレーショナルデータベースはその当時の本当に万能で、
今でも使われている通りですけど、
トランザクションを捌く役割もそうだし、
データ分析の役割もそうですし、
単純にデータストアの管理の役割もそう、
本当幅広くいろんなことにも使えますし、
とにかく万能でありました。
なんですけど、
便利であればあるほど皆さんがボンボン使っていくわけで、
そうするとデータ量もそうですし、
アクセス数も爆発的に増えて、
RDBMS自体がボトルネックになるというような状況が発生したんですね。
これは想像に難くないでしょう。
ボトルネックになる。
つまりスケールアウトのところに問題があったということですね。
スケールアウトは別にサーバーのスペックを上げればいいですけど、
スケールアウトを分散するところとか、
砂漠というところに問題が発生してしまったよという話です。
そこから2つのデータベースが
スケールアウト面の解決のために誕生したんですね。
2006年にGoogleのビッグテーブルというデータベースが誕生しまして、
もう1個はAmazonのダイナモですね。
こちらも今も使われています。
ダイナモDBですね。
という2つのデータベースが登場しました。
こちらは一貫性もしくは可用性のどちらかをあえて犠牲にするんですね。
犠牲にした代わりにRDMSにない分割体制というのを備えるようになりました。
すなわち多くのサーバーに分散できるスケールアウト可能なデータベースというものが誕生したというところですね。
この流れですね。
スケールアウト可能なデータベース開発というところの流れがそこから割と活性化をしてきまして、
2009年6月にNoSQL Meetupというイベントが、
どこで開催されたかメモっていなくてごめんなさい。
どこかで開催されまして、
そこからNoSQL、Not Only SQLのワード自体も広まっていて、
現在の超大規模なデータ管理のシステムの定番になっていったような、
それがそのまま現代の流れになりました。
そこからNoSQLも話題になってきまして、
NoSQLとRDBMSの比較というかどっちがいいの議論とかがあるんですけども、
お互いはやっぱりお互いの補完関係にありまして、
お互いの良さもあるしデメリットもあるというところで、
RDBMSの価値が失われたことは全然ないし、今もどんだけ使われている。
ビジネスの規模とかスケールするところでは、
両方使うみたいな環境も全然あると思いますからね。
というところで現在もRDBMSが主流として、
でもそのデータの、例えばゲームとかのログか周りとかを管理するデータベースとして、
NoSQLがよく使われたりするというのは皆さん基地の通りだと思います。
なのでお互い補完関係でうまく使っていきましょうみたいな話ですね。
09:02
というのが一応データベースの起源というか歴史のザーッとした流れでしたと。
やっぱデータベースは面白いですね。
歴史がやっぱ面白いんですけど、
データベースってどうやってアプリケーションとかシステムっていうのは、
データをどういうふうに管理する。
そしてそのデータをどのように表現するアルゴリズムの2点がやはり肝になるものですので、
そのうちの片方ですね。
データベースっていうのを見るのはやっぱ面白かったなと思います。
参考になれば幸いです。
今回はこんなところで終わっていきたいと思います。
いつも聞いてくださり本当にありがとうございます。
ではまた次回の収録でお会いしましょう。
バイバイ。