Let’s Build a Simple Database:https://cstack.github.io/db_tutorial/
SQL数据库的历史
末了说一下SQL数据库的历史吧。
上世纪 60 年代,由于 IT 技能尚未普及,硬件能力也捉襟见肘。步伐员面对的业务逻辑还不是很复杂,但更可怕的是当时没有 Google,更没有 GitHub、Stack Overflow。即使是构建一个最简朴的增删改查系统也须要自己手动调用操纵系统反人类的 API,应用各种数据结构、算法去完成数据的存储和检索。
和很多技能从简朴到复杂的发展历程不太一样,数据库首先成熟并被大规模使用的是 RDBMS(关系型数据管理系统),后来才逐渐兴起了实现相对简朴,以 Redis 为代表的 KV 型的数据库。
关系型数据库的大规模应用和 SQL 被普遍承认成为了关系型数据库的标准查询语言有很大的关系:
SQL 编程语言最初是 IBM 研究人员 Raymond Boyce 和 Donald Chamberlin 在 1970 年代开发 “System R” 的过程中落地的。SQL 当时被称为 SEQUEL(这也是SQL普遍读法的由来)后来由于注册商标的问题,才改名为 SQL。SQL 的发明很大程度上是参考了 Edgar Frank Codd 于 1970 年发布论文《A Relational Model of Data for Large Shared Data Banks》。
1977 年,32 岁的步伐员 Larry 从在 IBM 工作的好基友 Oates 那里拿到一本内部期刊《IBM Research Journal》,从上面读到了 System R 的一些消息。由于技能人员对技能的敏感性,他们以为这玩意儿一定会大火,于是三个 30 多岁的步伐员决定去创业,于是自己凑钱创建了一个软件开发公司。公司名也是取得相当直白:SDL(Software Development Labs,”软件开发实验室”)。随着 IBM System R 的推出市场,SQL 语言迅速普及,Larry 原来只是想开发一个兼容 System R 的数据库系统,跟在 IBM 后面喝点汤。
但 System R 竟然把返回的 Error Codes 当成了机密保护了起来。不让我加入,那我就跟你打,于是 Larry 把公司名改成 “Relational Software, Inc” 准备跟 IBM 死磕。1 年后,他们开发出了数据库产品的第一个版本并把它定名为 “Oracle”,更让大家开心的是他们成功的把产品卖给了美国海军和中央情报局等当局部门。于是大家买了个蛋糕给公司过了一个一周岁的生日,留下了这张照片: