暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

数据库传奇:被忽略的历史(二)

IT知识刺客 2024-02-07
140

照例,放公众号震楼。

如果你是从其他APP跳过来的,点击右上角三个点,选择浏览器打开,长按此图片,选择分享图片。可以分享给文件传输助手。

然后进入微信,在文件传输助手中,点击图片,长按,就可以加公众号了。

本公众号精彩内容多多。不只有深度的技术,还有视角独特的故事。

上回书说到,科德博士学成出山,打通任督二脉,又经历龙场悟道。恰逢美帝太空总署找到IBM,为阿波罗登月计划,开发一款数据库。
虽说科德博士十分适合当这个数据库的首席架构师,但真正的首架,却已另有其人。
而且,首架已经决定以“层次型“为准,为阿波罗开发一款数据库,这就是IBM IMS数据库。
此时的科德,已经不是以前的科德。前面说了,龙场悟道后,他形成了自己的“思想“体系,由于科德一直从事基础软件开发,我们就估且称之为:“基础软件思想“吧。
你要开发微信APP,和开发IMS数据库,所思所想肯定不一样,对吧。
基础软件的开发,就要有“基础软件思想“。“基础软件思想“是什么,抱歉,我没达到科德那个Level,我怎么可能知道。
不过,我虽然不知道什么是基础软件思想,但我知道没有基础软件思想是什么样子。
这很容易理解,我不知道有钱人有多么快乐,但我知道没有钱的人,有多么不快乐。对吧。
“吾不知其名,强字之曰道“。我只是把我不知道的、有钱人的快乐(也就是科德此时的思想体系),强字曰:基础软件思想。
正是在这样的思想,这样的思维模式引导下,他能穿过重重迷雾,发现旧有方式的不足之处,以及什么样的方式,才是更好的。
但龙场悟道后,科德此时的思维高度,已经明显高于其他人。
打个比方,科德此时,境界已达到射雕五绝:
数据库图灵奖一共就4个,这是五绝。不过,考虑到中神通王重阳在射雕并未登场,东邪西毒南帝北丐,正好4位数据库图灵奖大宗师。后文我们就简称四绝。
而IMS项目组其他人,包括首架,顶多相当于全真七子马钰、丘处机水平吧。

也是全真教掌教了,射雕世界第一大门派掌教,可不是闹着玩的。稳稳的相当于IBM CTO了。说IMS首架有马钰、丘处机水平,有点高了吧。

不过,打个比方吗,增加点娱乐性,可别认真啊。

东邪西毒南帝北丐、天下四绝之一的科德,很快就看不上IMS的技术方向了。

虽然IMS首架决定使用层次模型实现数据库。

但在“基础软件思想“引导下,科德发现使用了树状层次模型的缺憾。数据指来指去,搜索数据,你要从一个数据、跳到另一个数据,再跳、再跳、……。就像在一大片黑暗森林中,沿着一条微弱的光链前行。黑暗森林就是数据,它隐藏在暗处,使你无法发现它的价值。……

数据应该像表格一样,简单、全面的展现在你的眼前,而且可以方便的count\sum……,group byorder by ……

对,这就是关系模型。

这是好多书上的说法。其实网状与层次模型,更适合磁带存储。而当时磁盘已经出现,关系模型,更适合磁盘。

从磁带到磁盘,是从一维到二维。提升一个维度的打击,和“降维打击”效果是一样的。

但为什么只有科德看到了磁盘时代将要到来,数据库即将进入“二维”时代,同时代其他大佬们难道都没睡醒?

千万不要以为磁盘代替磁带,就和现在SSD取代机械硬盘一样。

SSD和机械硬盘都是二维的,再加上“文件”这个强大的虚拟层,你可以从机械硬盘平滑切换到SSD

但从磁带到磁盘,则是标准的从一维到二维。你能相像三维的存储是什么样子吗?基于三维存储的数据库,又是什么样子?

如果你相像出来了,赶快啊,发篇论文,几年后,说不定你也是科德之后,数据库领域又一开天辟地的大宗师。

相像不出来吧。科德就在一维时代,相像出来二维时代的数据库应该是什么样子。

你要是说,把两个以上,二维的机械硬盘盘面,组合在一起,不就是三维的吗?

行吧,这个问题不展开了。我也不知道三维的存储是个啥,我只能说一句,组合多个盘面,绝不是三维存储该有的样子。

科德在领悟“基础软件思想后”,思想本来就升维了,所以他可以发现,时代的步伐,已经走到了二维化的大门口。

又凭借系统学习体系结构的理论基础,结合当时的硬件水平,提出了可行的新型数据库方案,也就是关系模型。

关系模型,是科德十多年Conding经验、结合系统的学习硬件,综合而成的思想结晶。基于硬件,设计更好的软件,以发挥硬件之所长。这就是基础软件的特点。科德无疑做到了。

而有些基础软件,似乎在有意的远离硬件。如果真的离硬件越来越远,所开发的软件,无论有多大型,只能叫平台软件,而不是基础软件。

好了,不说教了。继续科德和IMS数据库的故事。

IMS如火如荼的开发时,科德博士不断游说首架,层次型没有前途,我有一个更好的Idea

虽然我们说科德相当于东邪西毒南帝北丐四绝之一,但现实世界毕竟不是武侠世界,你也不能真给IMS的掌教(首架),来个降龙十八掌验证一下啊,没人知道你达到了四绝之一水平。在大家眼目,你仍只是一名IBMP攻城狮。

再加上这边项目已经如火如荼的展开了,NASA还不停的催,你是IMS掌教,你会怎么办。

我们说科德是四绝,但此时的IMS掌教看科德,就和刚被郭靖带上全真教的杨过一样,不单是没什么特别的,而且怎么看,怎么不顺眼。去古墓派找你的姑姑吧,别在IMS项目组了。

所以,IMS数据库,科德博士没啥贡献,然后就被边缘化了。

但是,一旦形成了自己的思想体系(“基础软件思想“),人是停不下来的。这就是目标,或者说,使命感。

眼看游说IMS掌教失败,科德博士开始转头游说IBM的客户。

这一阶段,科德博士四处奔走,参加各种技术沙龙、数据库大会等等,宣讲自己的关系模型理念。

1968年,IMS数据库开发完成,项目非常成功,NASA十分满意。之后的几十年里,IMS数据库也一直在发展、改善中。这个数据库直到现在还在运营,百度一下就能搜到它的官网,如果需要,2024年的你,也可以下单来一套IMS数据库,感受下为登月开发的数据库是什么样子。

你看,文无第一、武无第二。技术就是文,很难分出高下。

在我们的故事中,这个连名字都不配有的IMS掌教,人家也不差的。成功领导开发了IBM IMS数据库,为阿波罗登月,贡献了自己的力量。还为IMS打下坚实基础,使IMS一直存在到2024年,你能说IMS掌教不强吗!

他一定也有“基础软件思想”,才能领导IMS数据库走向成功,并一路走来,一直走到2024年。

但同样是“基础软件思想”,也有深度的高下之分。

科德以自己对软、硬技术的综合了解,或者说,科德基于自己的认知,认为关系模型更友好,更适合以后的硬件发展,但这超出了IMS掌教的认知。

掌教认为以当时的硬件条件,关系模型真实现出来了,可能也是个缓慢、甚至跑不起来的废物。所以他基于自己的认知,稳托的采用了当时更成熟的技术:网状模型的变身、层次模型。

所以,我所说的,吾不知其名的,强字名曰的“基础软件思想”,虽然玄而又玄,其实就是流行语:认知边界。

不过,认知边界,四字,毕竟过于宽泛。数学、物理、乃至人情事故,等等等等,到处都有认知边界。

“基础软件思想”,不过是把认知边界具体化了一些。科德毕竟从事的是基础软件开发吗,在这方向上,他的认知边界那是一定比其他人更高的,我就把科德在这方向上的认知,称为“基础软件思想”。

1968后,被边缘化的科德博士,眼看推动IBM公司内部,成立一个关系模型数据库小组无望。转而在外界提升自己的影响力,用影响力打动客户,让客户反过来向IBM提要求:“我们听说有种关系模型,你们给开发一个吧“。客户是金主爸爸啊,科德的思路是没错的。

为了提升影响力,科德一面继续自己的研究,完善关系模型理论,同时参于各种技术沙龙,宣讲自己的理念。当然,已经是博士的科德,也免不了发发论文。

然后,时间就到了1970年,划时代的论文就诞生了。《A Relational Model of Data for Large Shared Data banks》,就是这篇论文,开启了关型数据库元年。

这篇论文后来也被ACM评为最有影响力的论文之一,甚至间接启发了在摸鱼打工的屌丝青年,拉里.埃里森。但这都是后来的视角,在当年,发完论文的科德又会有怎么的遭遇,且听下回分解


文章转载自IT知识刺客,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论