1. kkeethのエンジニア雑談チャンネル
  2. No.376 「なんやかんや表計算..
2024-02-19 14:27

No.376 「なんやかんや表計算は人類が生み出した素晴らしい概念やな」

はい!第376回は,人類が生み出した素晴らしい概念の一つ「表計算とリレーショナルデータベース」について思うことをお話しました💁

明日はこれに付随したデータベースの歴史に触れてみたいと思います!


ではでは(=゚ω゚)ノ


ーーーーー

♫ BGM

騒音のない世界「なんでも革命」

https://soundcloud.com/baron1_3/kakumei

See Privacy Policy at https://art19.com/privacy and California Privacy Notice at https://art19.com/privacy#do-not-sell-my-info.

00:05
はい、みなさんこんにちは。keethことくわはらです。本日もやっていきましょう。
keethのエンジニア雑談チャンネル。この番組では、ウェブ業界やエンジニアリング、いろんな技術についての情報を、
雑談形式で発信していきたいと思います。
今日はですけども、タイトルにあります。
人は表計算から逃れることはできねえだろうな、みたいなお話ですね。
この話をしようと思ったきっかけとして、
何名かのエンジニアと雑談している中で感じたことで、話には出てなかったんですけど、
データベースの話です。
データベースって、学び方としてどういうもの、どういう学び方をすればいいかっていう話なんですけど、
データベースって言ってるのはリレーショナルデータベースですね。ノンエスケルとかではないです。
よくあるのは結局表計算だよねっていう話ですね。
スプレッドシートでもいいですし、エクセルでも良いですけど、
リレーショナルデータベースもそうですけど、結局データベースのテーブル構造とかテーブル構成って、
テーブルって名前がついている通りで、結局は表なんですよね。
表計算をしたことはなくて、そこにインデックスを振ったりとか、
ID用のカラム、IDみたいなのをつけたりとか、
今だとオートインクリメントで連番で数字が振られるIDとかあると思うので、
それを使うこともあると思います。
それを主キーに使ってテーブルの結合をしていって、
欲しいデータっていうのを整形しながら取得するという、SQLを書くという話があるんですけど、
データベースって現代でもうなくてはならないですよね。
アプリケーションとかシステムをやるにあたって、
簡単なアプリであればノンエスケルのものを使えば全然良いと思いますし、
ファイアベースみたいな、ファイアストアとかリアルタイムデータベースとかあったりしますけど、
あの辺も全部ノンエスケルですね。
今も使われてますけど、僕は今使ってないが、
MongoDBみたいなやつもあったりしますね。
全部JSとかJSON形式で扱えるMongoDBっていうのもあったりします。
そういうものじゃなければ基本的にはリレーショナルデータベースって言われるものは
表計算になっていることに変わりはないので、
表計算であればExcelとかでもいいですし、
Notionのデータベースでもありますよね。
あれも結局見た目上単なる表ではあるので。
というのを加味すると、世の中データベースはもうなくてはならないものであると言うけど、
実態としては表であるので、僕らは結局表計算から逃れることはできないし、
今後はないだろうと思いますね。
2次元のデータの扱い方が割と便利で、ここまでの汎用性が高いっていうのを
人類の英知がもう証明をしてしまって、これだけ流行っているので、
そりゃそう、流行ってるというか、デファクトになっているので、
逃れられないし、Excelというものがいかに優れたツールであるかというのも分かりますね。
データベースって普通にコンソールからSSHでサーバーとかに入って、
そこからMySQLコマンドを叩いたりして、
03:00
POSGREのコマンドを叩いて、データベースの中に入ってみることもできますけど、
パッと見るとしたら大体クライアントソフト使うじゃないですか。
例えばPHPMyAdminとかを使ったりしますね。
僕は最近全然使ってないですけど。
他にもMac用のいろんなツールが最近あって、その辺も使ったりはしましたけど。
そうやってシステムとちゃんとつないでみなきゃいけないものもありますけど、
人によってはもう本当にExcelそのものをデータベースのように扱って、
データベースとシステムをうまいこと連携させる。
普通に通信することもできますのでね。
連携させてExcelにデータを全部保管しておいて、
ファイルで扱うみたいなことももちろんできたりはします。
Excelってデカくなればなるほどファイル開けなくなるのでそこの課題はありますので、
ちゃんとデータベースはデータベース用のシステムを使うとか、
サーバー立てるとか、AWSのRDSを使うとか、
その辺を使うほうが本当はいいと思いますけど、
コスト削減だったりわざわざネットワーク通信するんじゃなくて、
手元のExcelの中で処理をするとか、
どっかのサーバーに置いてあるExcelの中で処理をするということもできなくはないのでね。
そういう選択肢をするという古典的な方法ですけど、
はあります。
どちらにせよ表計算をしていることに変わりないという本質を問えば、
Excelを使うことがあるというのは仕方がないし、
手動でわちゃわちゃ書いてますけど、
あれも結局データベースにインサートしたりアップデートかけたりしているようなものでありますのでね。
バージョン管理とかちょっと大変かもしれないですけど。
表計算は表計算と言っているんですけど、
表計算の先駆けじゃないですけど、
おったんってどこにあるんだろうってちょっと気になったので、
それも軽く調べてみましたけど、
普通にWikipediaにありましたね。
表計算ソフトの概念を生み出した人、
表計算そのものアルゴリズムを生み出した人は、
僕はすいません、わからなかったんですけど、
表計算ソフトですね、
生み出した人というのは、
最初の表計算ソフトウェアであるVisiCalcですかね、
VisiCalc、正しい発音は多分カルクかもしれないですけど、
というものを発明されたものが最初と言われています。
世界初のパーソナルコンピューター向け表計算ソフトですね。
これが1979年に発明されました。
これを作った方が、
ダンブリックリンとボブ・フランクストンというお二人の方が
作られたとおっしゃっています。
今までのパーソナルコンピューターの使用方法というのを
これが結構変えていったものと言われています。
特にやっぱりビジネスの世界におけるコンピューターの使い方とか、
その普及ですね。
やっぱり表計算ができるようになったというところから、
ビジネスの世界で一気にパーソナルコンピューターの導入も進んでいたというところで、
まあ、革新的だったんでしょうね、本当に。
当時そのダンブリックリン氏は、
ハーバードのビジネススクール学生だったらしいですね。
その時に表計算のために紙を使う手間をどうしても自動化したいというので、
ソフトウェアで同じことをしたいというので、
表計算ソフトというのを作り始めた。
その時、友人だった僕、フランクストンとともにこのアイディアを実現させるために、
06:02
Visicalcというものを作っていたと。
結果的にはビジネスアプリケーションとして、
パソコンの価値をすごい高める革新的な製品になったというので、
このVisicalcというのが歴史上、パソコンにおける表計算ソフトの先駆けですというところですね。
Wikipediaを見られる方は後で見てみてください。
画像を載っています。
昔ながらの超古いUIで、僕としてはワクワクしますね。
老人会のおじさんホイホイかもしれないですけど、
黒の画面に緑のだけの文字でひとくたばっと書かれていて、
ちゃんとでも表計算できていますね。
昔ながらの、今のExcelと見た目はやっぱり一緒ですね。
結局は表計算なので、
今日っぽく縦にABCDっていうようなカラムがあって、
横軸は123ってナンバー振られて、そういうレコードがある。
で、その辺を計算してサブトータルができたりとか、
タックス計算ができたり、普通にトータルができたりみたいなのを
やったよっていう画像がペッて貼られています。
これがやっぱり先駆けとしてすごく大流行したというところで、
6年間で70万本売り上げて、その後も含めると
総計でおよそ100万本も売り上げたっていうところで、
当時のパソコンの普及率とかから考えると、
このソフトがだけでそれだけ売れたっていうのはかなり確信的ですよね。
逆にこれが使いたいがためにパソコンも実際売れたことになるんじゃないかというので、
お互いのメリットがすごく大きかったんじゃないかと思いますね。
ちなみに最初これはApple II向けのものがリリースされていて、
Apple IIのキラーアプリケーションとなっていたと。
販売も牽引することになったということで、
Appleの販売、売れたことの背景の一つに
ビジカルクっていうのが実はあったよって話は全然あると思いますね。
その後はいくつかのプラットフォームが移植されたと。
そこで多分ビルゲイズマイクロソフトが導入をしたんでしょうね。
今ExcelといえばMSのイメージはすごい強いですけど。
実は最初はAppleの方が早かったっていうところが、
これは歴史的に面白い話です。
途中で8bitだけじゃなくて16bit向けのプラットフォームも含んだものも
リリースされていったよというところで、
最初の表計算ソフトウェアを改めまして、
ビジカルクの副案者、ブリックリンとボブ・フランクソンですね。
ちなみにお二人は会社も起こしたらしいですね。
ソフトウェアアーツっていう会社を起こした。
販売会社はパーソナルソフトウェアっていう会社、
後のビジコープっていう会社になったらしいですね。
結構歴史的にはだいぶ前ですね。
1979年なんで私は生まれてませんからね。
その辺の時からずっと表計算っていう概念とか
ソフトウェアが作られて、
もう今2024年ですか。
になっても人類はずっと表計算ソフトウェアに依存してますし、
データベースも結局言ってしまえば表計算っていう話と、
まず冒頭に言った通りですね。
あるので僕らはもうずっとこのまま、
おそらく表計算から離れることはないだろうし、
逆に表計算っていうのがどれだけ便利か、
どれだけ人類のビジネスの場でもそうですし、
09:02
パーソナルの場でもそうですし、
頭の中の整理とか吐き出しとかっていうところで
便利なツールであるかってことが証明し続けているってことですね。
そこにリレーショナルとして結合できるっていう概念が入ったのが
まだデカかったんでしょうね。
特にデータベースのジョインっていう概念はかなり大きく、
だから今でも名前としてリレーショナルデータベースっていう名前がついてる通り。
あれがかなり大きかった。
それができたおかげで、
データベースとか一つのテーブルをちゃんと正規化することができたっていうのが大きいんでしょうね。
いわゆる分離をしていくってところですね。
超巨大なテーブルを物事とか本質ごとに分けていって、
必要なときは必要なものをちゃんと結合して
取得してくればいいじゃんっていう概念が
あとから生まれてきてるはずですね。
リレーショナルの概念を生み出した人は誰かっていうのはちょっと調べてなかったんで、
ちょっと今軽くググります。
僕も最初データベース、
僕は毎月あるから実は入りました。
大学の授業で一応データベース論みたいな、
データベース基本、基本論みたいな授業があったんですけど、
全然分かんなかったんですよね。
その授業はアカデミックな内容とか座学しかやらなくて、
ずっとテーブルのクエリ一行も叩かなかったんですよね。
SQL文も叩いたことはなかったので、
データベースの概要と基本的な思想的な話の勉強だったので、
入門者としては全然失礼でごめんなさい。
僕が失礼な発言今からしますけど、
訳分からなすぎてあの授業意味あったのかなって正直思いました。
ただデータベースっていうのは一度は触ったことあるし、
業務で使ったことあるけど、ちゃんと基本としてアカデミックに学ぶ人にとって
あの授業はすごく概論として良かったと思うんですけど、
結局なんぞやっていう本質が分からなかったので、
一回はデータベースそのものを触ってから
あの授業をやってほしかったなっていう気がしますけど、
まあまあ、今授業抗議されてるかわからないですけど、
当時の僕の役のT先生ごめんなさい。
ちなみにリレーションデータベースの概念を見出した人、
チャットGBTで聞いてみましたけど、
イギリスの数学者でコンピューター科学者の
江戸川F.コッドという方が生み出したとされてるらしいです。
彼は1970年に
IBMの研究員として働いてた時代ですね。
その時に、
A Relational Model of Data for Large Shared Data Banks
という論文を発表しました。
なるほど、データバンクスっていう言い方がちょっと僕は今気に入りましたね。
センスあるわ。
この論文でコッドはデータを表ですね、
テーブルの形で管理するリレーショナルモデルっていうのを提案をしました。
このモデルっていうのがデータの挿入と検索・更新、
いわゆるクラットですね、
より効率的に行うことができるように設計されていて、
現代のデータベースシステムの基礎となっています。
そのコッドのリレーショナルモデルっていうのが、
これまでの階層型とかネットワーク型のデータベースモデルに比べて、
データの構造をより柔軟に扱える点っていうのが革新的でしたよと。
リレーショナルデータベース管理システム、RDBMSっていうものは、
このモデルに基づいて開発をされ、
後にSQLですね、Structured Query Language、
12:00
いわゆるSQLなどのクエリ言語を使用してデータにアクセスするようになったよと。
Edgar F. Kottの提案したリレーショナルモデルっていうのは、
その後数十年にわたってデータベース技術の発展に大きな影響を与えて、
今日でも多くのアプリケーションで使用されている
基本的なデータ管理の枠組みとなっておりますという話でした。
はい、なるほど。
実は、先ほど出ましたVisicalcっていう表計算ソフトが発明・発売されたのが1979年ですけど、
リレーショナルの概念自体はもっと前なんですね。
その9年前に研究論文として既に出ていたというところなんですね。
ってことは、たぶん表計算のさっきのVisicalcも、
僕触ってないですけど、たぶん最初からリレーショナルな機能あったのかな、もしかしたら。
ちゃんと見てないのであれですけど。
概念とか理論の方が先に生まれてたってのはちょっと興味深いですね。
使ってみて、後からやっぱりこれ分離して結合するみたいなのがより便利そうだなっていう
発展の話かリレーショナルの話が出たのかと思ったら、そうじゃないんですね。
そういう意味でいくと、さっきは表計算ソフトの話でしかないので、
データベースそのものの歴史はもっと昔からあるからかもしれない。
はい、ちょっと気になったので、かつ話は長くなってしまったので、
今日はここで区切って、明日はデータベースのそのものの歴史を振り返ってみようかなと思いますので、
今日は調べてみたいと思います。
面白かったですし、何度も言ってうるさいですけど、
人は表計算から逃れないというよりも、ずっとこのまま表計算と一緒に生きていくと思いますね。
これだけ汎用性が高くて、頭の整理に使える便利なツール、表計算。
本当に素晴らしかったっていうその話ですね。
まあ今は表計算ソフトを表計算に使わない環境とか、現場もたくさんあって、
いやいい加減やめろとずっと思ってますし、スクショを貼ってぺっぺドキュメントを作るツールみたいな感じになってきて、
それはどうなのっていう感じはしますけど。
ちゃんと表計算の本来の意味と価値っていうのをうまく使ってくれるのが本当にいいと思いますね。
データベースをわざわざ用意しなくても、簡単にデータを管理して処理していきたいときに使うのが表計算だと思いますからね。
そんなことを今日思いながらお話をしてみました。参考になれば幸いです。
今回はこんなところで終わっていきたいと思います。
いつも聞いてくださり本当にありがとうございます。
ではまた次回の収録でお会いしましょう。バイバイ。
14:27

コメント

スクロール