网易首页 > 网易号 > 正文 申请入驻

世界上最流行的数据库,只想活50年!

0
分享至

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

Oracle? MySQL? PostgreSQL?

都不是,答案是SQLite。


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

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

每一台Mac电脑中

每一台Windows 10 电脑中

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

大部分的机顶盒当中

每个PHP和Python安装目录中

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

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

SQLite的发明人是Richard Hipp。


最近,Richard做了一个重要的决定:支持SQLite到2050年!

也就是说,从2000年问世算起,SQLite将“只有”50岁的寿命。

到2050年,技术会发生什么变化?还会有人使用SQLite吗?

我觉得答案是肯定的。

关系数据库不像别的软件,它保存的是企业的关键数据,是非常稳定的,全球的信息系统在底层都依赖它们,一般情况下是不敢轻易动的。

像Oracle,1979年就出现了,现在已经46岁了,还是世界上最大的数据库。

PostgreSQL 29岁了, MySQL 30了,SQL Server 36了...... 它们都会继续活下去。

即使出现了全新的、大幅领先关系数据库的数据模型,很多遗留系统也会继续使用关系数据库。

在嵌入式关系数据库领域,SQLite几乎是一统江湖,没有对手,它的应用范围如此广泛,活到2050年不成问题。

为了完成这个宏伟的目标,Richard和团队做出了一些重要的决策:

01

向后兼容

SQLite团队承诺保持它的C API 与磁盘格式的向后兼容性,这意味着现有应用在未来几十年升级 SQLite 时不需重写或迁移,极大降低长期使用成本与数据迁移风险(对长期存储尤为重要)。

这就意味着,你今天存入的SQLite数据库的内容,你的孙子辈依然可以轻松访问。

SQLite的数据文件就是那个.db,它的格式不管在32位机器上,还是在64机器上,不管在大端还是小端平台上都完全相同。

你可以把数据文件轻松从一个系统复制到另外一个系统(比如从Windows到Linux),无需做任何转换。

02

详尽的文档

SQLite的策略非常独特,它虽然开放源代码,任何人都可以下载,但是却不接受外界的代码贡献。

这二十多年,只有Richard为首的三四个人维护。

这个小团队编写了大量的文档,包括SQLite的架构,数据库格式,查询计划,字节码引擎、编译期选项等等,非常详尽,让人叹为观止。


它的文档就像一本“SQLite 教科书”,几乎涵盖了从初学者到系统开发者所有层次的需求。

文档里不仅告诉你“能怎么用”,还告诉你“为什么这样设计”,甚至记录某些历史包袱和兼容性考虑。

比如SQLite 特有的“Railroad Diagram”(铁道图)来展示 SQL 语法,非常直观,比光靠文字描述更容易理解。


可以说,SQLite的文档在开源软件中是数一数二的。

03

优秀的注释

SQLite的注释尤其惊人,注释竟然超过了35%的内容。

我们经常会看到一些模版式的代码注释,说了相当于没说,但是SQLite不同,它的注释非常实用,能解释变量和对象的真正含义。

比如 btree.c、pager.c 这些核心文件,都会在开头详细描述 B-Tree、Pager 层的设计原理,让读代码的人不用完全依赖外部文档。

Richard Hipp 很注重可移植性与稳定性,很多注释会解释为什么这样设计、有哪些边界情况需要处理。

注释里经常会提到“这是为了应对某个 bug/某个平台的限制”。

注释和代码风格统一、简洁。没有花哨的行话,基本是“写给未来的自己/其他人看的”,不像很多项目那样只写函数名的重复解释。

目标就是方便新程序员理解,使其在未来几十年内易于维护。

04

灾难备份

永远不用担心SQLite源码被篡改和丢失,因为Richard把源码每个历史版本都做了加密保护,并且自动复制到不同数据中心的服务器中。

此外,全球还有数千个额外的Clone版本在各个私人服务器上。

更有意思的是,Richard说SQLite的这三四个人小团队也分布在世界各地,即使某个大陆沉没了,SQLite依然可以存活。

05

保守/实用主义

计算机领域发展太快了,新技术层出不穷,每个人都会受到新潮流的影响。

但是SQLite开发者尽量避免被最新时髦做法所吸引,他们倾向于编写经得住时间考验的代码,这样的代码应当是“永恒的”,让那些“未出生的程序员”在将来也能轻松阅读、理解和维护。

说实话,我看到“未出生的程序员”是又震撼又疑惑,震撼的是今年Richard已经64岁,如果干到2050年,都89了,他这么做,确实是在考虑未来代码的传承。

疑惑的是如果将来技术出现重大变化,还让让未来的程序员来看古老的代码,是不是并不太好?

幸运的是,SQLite用的是C语言这样“永不过时的编程语言”,数据库理论又非常稳定,所以他做出这样的选择应该也没啥问题。

06

“变态”的测试

SQLite 的测试非常变态,它不仅测试了源码中的每个分支,每个判断,甚至考虑了机器指令层面。

它会在不同的平台(例如 x86_64、ARM64、32-bit 平台),不同操作系统(Linux/Windows/macOS/嵌入式 RTOS)等,不同编译器(GCC、Clang、MSVC、各种交叉编译器)反复执行,对不同优化级别、不同代码生成选项、多次构建的重复检查,找出偶发性/非确定性错误(比如未初始化内存导致的随机行为、竞态、内存重用引发的间歇性崩溃)。

它真正织起来一张庞大的安全网,只要你改动的代码引入了Bug,立刻就会被这张网给捕捉到。

它的深度和重复性可以说是“接近航空级别”,极端严格和全面。

这种长期的严格的承诺,不但让SQLite坐稳了嵌入式关系数据库一哥的宝座,也赢得了那些需要长久保存数据机构的信任。

比如世界上最大的图书馆,美国国会图书馆就把SQLite确定为保持数字化内容的推荐存储格式,和SQLite并列的是XML、JSON 、CSV这样标准的格式。

SQLite开放源码,但不接受外界贡献,就这么几个人,精雕细琢,不断打磨,不但搞出了极其精良的代码,极其详尽的文档,更是让SQLite成了世界上最流行的数据库。

在AIGC大行其道的今天,SQLite依然坚持这种“工匠式”的软件开发,实在是罕见。

正因为有这样执着的开发者,不追逐潮流,不为炫技而妥协,它的稳定性、可靠性和可维护性才得以跨越几十年,成为每一台设备、每一个应用不可或缺的基石。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
医生忠告:吃完降压药千万别碰这3样食物,患者要牢记,不能大意

医生忠告:吃完降压药千万别碰这3样食物,患者要牢记,不能大意

今日养生之道
2025-10-23 08:08:38
让你三观尽毁的事有哪些?网友:第一个最炸裂,太污了

让你三观尽毁的事有哪些?网友:第一个最炸裂,太污了

解读热点事件
2025-10-23 00:15:02
俄军步兵遭受巨大伤亡画面曝光!不计代价冲锋,尸体铺满道路

俄军步兵遭受巨大伤亡画面曝光!不计代价冲锋,尸体铺满道路

环球热点快评
2025-11-03 22:40:40
麦孔:劳塔罗打进一个真正队长般的进球,向队友传递他的决心

麦孔:劳塔罗打进一个真正队长般的进球,向队友传递他的决心

懂球帝
2025-11-06 07:53:08
中方狠招制朱拉尼,俄美英法难还击,阿萨德逆势翻盘?

中方狠招制朱拉尼,俄美英法难还击,阿萨德逆势翻盘?

林子说事
2025-11-04 05:43:58
巴萨旧将:我的两座欧冠总被开玩笑;亚马尔达不到梅西的高度

巴萨旧将:我的两座欧冠总被开玩笑;亚马尔达不到梅西的高度

懂球帝
2025-11-06 07:00:09
因香气被采到濒危!2023年,又耗时14年人工繁育5.5万棵

因香气被采到濒危!2023年,又耗时14年人工繁育5.5万棵

万象硬核本尊
2025-11-05 19:34:02
一位资深地产大佬对于万科现状的解读(1)

一位资深地产大佬对于万科现状的解读(1)

科学发掘
2025-11-05 11:47:58
冲上热搜!小米YU7全网首拆,结果令人太意外……

冲上热搜!小米YU7全网首拆,结果令人太意外……

恪守原则和底线
2025-11-05 15:55:51
印媒指出福建舰严重设计缺陷! 这回没瞎说: 福建舰确实存在这问题

印媒指出福建舰严重设计缺陷! 这回没瞎说: 福建舰确实存在这问题

福建平子
2025-11-03 10:21:52
勇士队巴特勒和格林伤情更新,斯蒂芬·库里缺席对阵国王的比赛

勇士队巴特勒和格林伤情更新,斯蒂芬·库里缺席对阵国王的比赛

好火子
2025-11-06 06:39:36
特斯拉撞死突闯国道的野猪,修车费超2万元、车主全责 交警:野猪不属于交通参与者

特斯拉撞死突闯国道的野猪,修车费超2万元、车主全责 交警:野猪不属于交通参与者

红星新闻
2025-11-05 16:04:24
今晨欧冠,阿根廷双锋闪耀:只踢半场均进球,还有更精彩的镜头!

今晨欧冠,阿根廷双锋闪耀:只踢半场均进球,还有更精彩的镜头!

老霍聊球
2025-11-06 07:52:04
央视提醒:免疫力是最好的医生,用8个方法激活它

央视提醒:免疫力是最好的医生,用8个方法激活它

诗词中国
2025-11-03 21:30:33
同事结婚我随2000,我儿子满月他送100,他负责的1000万项目黄了

同事结婚我随2000,我儿子满月他送100,他负责的1000万项目黄了

农村情感故事
2025-11-06 07:33:35
胡真舫,拟升正厅

胡真舫,拟升正厅

新京报
2025-11-05 20:12:43
新款保时捷911 Turbo S国内首发,2.5秒破百,272.8万起

新款保时捷911 Turbo S国内首发,2.5秒破百,272.8万起

汽车公告板
2025-11-05 18:43:01
女子出轨上司被公公现场抓到,公公答应保密,却要儿媳满足个条件

女子出轨上司被公公现场抓到,公公答应保密,却要儿媳满足个条件

林林故事揭秘
2025-01-18 11:46:56
石家庄警方:男子因工作纠纷持刀扎伤两名同事,已被当场控制

石家庄警方:男子因工作纠纷持刀扎伤两名同事,已被当场控制

界面新闻
2025-11-05 13:44:22
燃油车时代会很快结束?内行人预测:油价很可能是最后的关键!

燃油车时代会很快结束?内行人预测:油价很可能是最后的关键!

趣味萌宠的日常
2025-11-05 14:16:06
2025-11-06 09:16:49
码农翻身 incentive-icons
码农翻身
有趣且硬核的技术文章
194文章数 558关注度
往期回顾 全部

科技要闻

苹果“认输”!曝每年10亿美元租用谷歌AI

头条要闻

记者问了欧盟一个“有趣”的问题 然后被解雇了

头条要闻

记者问了欧盟一个“有趣”的问题 然后被解雇了

体育要闻

赢下皇马,会是利物浦的转折点吗?

娱乐要闻

港星林尚武突发心脏病去世

财经要闻

特朗普关税遭美国高院大法官轮番质疑

汽车要闻

智己LS9入局"9系"混战 全尺寸SUV市场迎来新变量

态度原创

教育
手机
房产
游戏
公开课

教育要闻

83岁还在学英语?ta们告诉你坚持的意义。

手机要闻

荣耀两款神秘新机被曝光:双2亿方案来袭,明年见!

房产要闻

最新!海南楼市10月热销榜单出炉!

晨报|《胡闹厨房》改编真人秀 暴雪嘉年华即将开票

公开课

李玫瑾:为什么性格比能力更重要?

无障碍浏览 进入关怀版