照例,放公众号震楼。

如果你是从其他APP跳过来的,点击右上角三个点,选择浏览器打开,长按此图片,选择分享图片。可以分享给文件传输助手。
然后进入微信,在文件传输助手中,点击图片,长按,就可以加公众号了。
本公众号精彩内容多多。不只有深度的技术,还有视角独特的故事。


也是全真教掌教了,射雕世界第一大门派掌教,可不是闹着玩的。稳稳的相当于IBM CTO了。说IMS首架有马钰、丘处机水平,有点高了吧。
不过,打个比方吗,增加点娱乐性,可别认真啊。
东邪西毒南帝北丐、天下四绝之一的科德,很快就看不上IMS的技术方向了。
虽然IMS首架决定使用层次模型实现数据库。
但在“基础软件思想“引导下,科德发现使用了树状层次模型的缺憾。数据指来指去,搜索数据,你要从一个数据、跳到另一个数据,再跳、再跳、……。就像在一大片黑暗森林中,沿着一条微弱的光链前行。黑暗森林就是数据,它隐藏在暗处,使你无法发现它的价值。……
数据应该像表格一样,简单、全面的展现在你的眼前,而且可以方便的count\sum……,group by,order by ……
对,这就是关系模型。
这是好多书上的说法。其实网状与层次模型,更适合磁带存储。而当时磁盘已经出现,关系模型,更适合磁盘。
从磁带到磁盘,是从一维到二维。提升一个维度的打击,和“降维打击”效果是一样的。
但为什么只有科德看到了磁盘时代将要到来,数据库即将进入“二维”时代,同时代其他大佬们难道都没睡醒?
千万不要以为磁盘代替磁带,就和现在SSD取代机械硬盘一样。
SSD和机械硬盘都是二维的,再加上“文件”这个强大的虚拟层,你可以从机械硬盘平滑切换到SSD。
但从磁带到磁盘,则是标准的从一维到二维。你能相像三维的存储是什么样子吗?基于三维存储的数据库,又是什么样子?
如果你相像出来了,赶快啊,发篇论文,几年后,说不定你也是科德之后,数据库领域又一开天辟地的大宗师。
相像不出来吧。科德就在一维时代,相像出来二维时代的数据库应该是什么样子。
你要是说,把两个以上,二维的机械硬盘盘面,组合在一起,不就是三维的吗?
行吧,这个问题不展开了。我也不知道三维的存储是个啥,我只能说一句,组合多个盘面,绝不是三维存储该有的样子。
科德在领悟“基础软件思想后”,思想本来就升维了,所以他可以发现,时代的步伐,已经走到了二维化的大门口。
又凭借系统学习体系结构的理论基础,结合当时的硬件水平,提出了可行的新型数据库方案,也就是关系模型。
关系模型,是科德十多年Conding经验、结合系统的学习硬件,综合而成的思想结晶。基于硬件,设计更好的软件,以发挥硬件之所长。这就是基础软件的特点。科德无疑做到了。
而有些基础软件,似乎在有意的远离硬件。如果真的离硬件越来越远,所开发的软件,无论有多大型,只能叫平台软件,而不是基础软件。
好了,不说教了。继续科德和IMS数据库的故事。
在IMS如火如荼的开发时,科德博士不断游说首架,层次型没有前途,我有一个更好的Idea。
虽然我们说科德相当于东邪西毒南帝北丐四绝之一,但现实世界毕竟不是武侠世界,你也不能真给IMS的掌教(首架),来个降龙十八掌验证一下啊,没人知道你达到了四绝之一水平。在大家眼目,你仍只是一名IBM高P攻城狮。
再加上这边项目已经如火如荼的展开了,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评为最有影响力的论文之一,甚至间接启发了在摸鱼打工的屌丝青年,拉里.埃里森。但这都是后来的视角,在当年,发完论文的科德又会有怎么的遭遇,且听下回分解




