网站标志
导航菜单
当前日期时间
当前时间:
购物车
购物车中有 0 件商品 去结算 我的订单
商品搜索
商品搜索:
文章正文
世界上最流行的数据库,竟然是套壳的 !
作者:    发布于:2024-01-15 18:57:30    文字:【】【】【

 世界上最流行的数据库是什么?

Oracle? MySQL? PostGreSQL?

都不是,答案是SQLite。

你可能没听说过它,但是它就在你身边的:

每一台智能手机中(Android 和iOS)

每一台Mac电脑中

每一台Windows 10 电脑中

每一个主要的浏览器中(Chrome, Firefox,Safari)

大部分的机顶盒当中

每个PHP和Python安装目录中

很多流行的桌面应用(微信、QQ、 DropBox、 Skype、iMessage、WhatsApp、 Adobe Acrobat Reader....)

......

不信的话可以在电脑中搜索一下 “*.db”,看看能发现多少个。

每个流行的软件都是为了解决一个痛点问题,SQLite也不例外。

时光回到2000年,Richard Hipp为美国海军的驱逐舰开发软件,这个软件要对船上所有的阀门进行管理和操作。

当时,美国海军使用的是IBM的Informix数据库,这个软件需要通过网络访问它来读取数据。

但是有时候Informix所在的服务器会挂掉,阀门管理软件就会报错:不能连接到服务器!

更糟糕的是,他们对这个数据库服务器没有任何控制权,结果不出意外,谁弹的报错对话框,谁背锅。

为了解决这个问题,Richard团队想了一招:将所有数据读入内存!

好在他们的程序不需要增、删、改数据,只要将数据全部读入内存,就万事大吉了。

此时,Richard脑中闪现出一个大胆的想法:既然如此,还要啥Informix呢?

直接从本地硬盘读取数据就得了!这样只要计算机能正常工作,程序就能正常运行。

这其实就是嵌入式数据库,数据库和用户程序位于同一台机器的同一个进程当中。

不过当时还没有这样的数据库,这时,一位同事提醒Richard:“那你为什么不自己写一个呢?”

当时纽特·金里奇和比尔·克林顿正在“打架”,所有政府合同都暂停执行,所以Richard失业了几个月。

没事儿可干的Richard决定把这个嵌入式数据库给写出来。

于是,SQLite诞生了!

SQLite第一版的提交历史记录

SQLite第一版的提交历史记录

SQLite第一版其实也是个套壳数据库

就像今天TiDB使用RocksDB作为其存储引擎,SQLite的第一版也只不过是在GDBM——可谓是NoSQL的鼻祖——上套了个壳。SQLite第一版的README文件中这样写道:

SQLite: An SQL Database Built Upon GDBM

GDBM衍生自DBM,而DBM(DataBase Manager的缩写)是来自Unix的键值数据库(key-valuedatabase),支持通过主键快速访问数据,最初由计算机界的大佬Ken Thompson编写。

所以,我们可以把GDBM的数据库看作是存储在硬盘上的哈希表。

GDBM仅仅以代码库(library)的形式向用户提供一系列API,并不支持SQL语句。

虽然是套壳数据库,但这个壳套得可不简单。

上世纪90年代,编程语言界诞生了不少基于字节码的语言,也因此出现了各种虚拟机。

例如,Java有JVM,PHP有Zend Engine,Python和Ruby也有自己的虚拟机。

拥有丰富编译器经验的Richard也如法炮制,他也搞了虚拟机,将SQL语句转化为字节码,在虚拟机上执行。

浏览 (15) | 评论 (0) | 评分(0) | 支持(0) | 反对(0) | 发布人:
将本文加入收藏夹
新闻详情
脚注栏目
|
脚注信息
机电工程网(C) 2015-2020 All Rights Reserved.    联系我们