国产av一二三区|日本不卡动作网站|黄色天天久久影片|99草成人免费在线视频|AV三级片成人电影在线|成年人aV不卡免费播放|日韩无码成人一级片视频|人人看人人玩开心色AV|人妻系列在线观看|亚洲av无码一区二区三区在线播放

網(wǎng)易首頁(yè) > 網(wǎng)易號(hào) > 正文 申請(qǐng)入駐

世界上最流行的數(shù)據(jù)庫(kù),只想活50年!

0
分享至

世界上最流行的數(shù)據(jù)庫(kù)是什么?

Oracle? MySQL? PostgreSQL?

都不是,答案是SQLite。


你可能沒(méi)聽(tīng)說(shuō)過(guò)它,但是它就在你身邊的:

每一臺(tái)智能手機(jī)中(Android 和iOS)

每一臺(tái)Mac電腦中

每一臺(tái)Windows 10 電腦中

每一個(gè)主要的瀏覽器中(Chrome, Firefox,Safari)

大部分的機(jī)頂盒當(dāng)中

每個(gè)PHP和Python安裝目錄中

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

不信的話可以在電腦中搜索一下 “*.db”,看看能發(fā)現(xiàn)多少個(gè)。

SQLite的發(fā)明人是Richard Hipp。


最近,Richard做了一個(gè)重要的決定:支持SQLite到2050年!

也就是說(shuō),從2000年問(wèn)世算起,SQLite將“只有”50歲的壽命。

到2050年,技術(shù)會(huì)發(fā)生什么變化?還會(huì)有人使用SQLite嗎?

我覺(jué)得答案是肯定的。

關(guān)系數(shù)據(jù)庫(kù)不像別的軟件,它保存的是企業(yè)的關(guān)鍵數(shù)據(jù),是非常穩(wěn)定的,全球的信息系統(tǒng)在底層都依賴它們,一般情況下是不敢輕易動(dòng)的。

像Oracle,1979年就出現(xiàn)了,現(xiàn)在已經(jīng)46歲了,還是世界上最大的數(shù)據(jù)庫(kù)。

PostgreSQL 29歲了, MySQL 30了,SQL Server 36了...... 它們都會(huì)繼續(xù)活下去。

即使出現(xiàn)了全新的、大幅領(lǐng)先關(guān)系數(shù)據(jù)庫(kù)的數(shù)據(jù)模型,很多遺留系統(tǒng)也會(huì)繼續(xù)使用關(guān)系數(shù)據(jù)庫(kù)。

在嵌入式關(guān)系數(shù)據(jù)庫(kù)領(lǐng)域,SQLite幾乎是一統(tǒng)江湖,沒(méi)有對(duì)手,它的應(yīng)用范圍如此廣泛,活到2050年不成問(wèn)題。

為了完成這個(gè)宏偉的目標(biāo),Richard和團(tuán)隊(duì)做出了一些重要的決策:

01

向后兼容

SQLite團(tuán)隊(duì)承諾保持它的C API 與磁盤格式的向后兼容性,這意味著現(xiàn)有應(yīng)用在未來(lái)幾十年升級(jí) SQLite 時(shí)不需重寫(xiě)或遷移,極大降低長(zhǎng)期使用成本與數(shù)據(jù)遷移風(fēng)險(xiǎn)(對(duì)長(zhǎng)期存儲(chǔ)尤為重要)。

這就意味著,你今天存入的SQLite數(shù)據(jù)庫(kù)的內(nèi)容,你的孫子輩依然可以輕松訪問(wèn)。

SQLite的數(shù)據(jù)文件就是那個(gè).db,它的格式不管在32位機(jī)器上,還是在64機(jī)器上,不管在大端還是小端平臺(tái)上都完全相同。

你可以把數(shù)據(jù)文件輕松從一個(gè)系統(tǒng)復(fù)制到另外一個(gè)系統(tǒng)(比如從Windows到Linux),無(wú)需做任何轉(zhuǎn)換。

02

詳盡的文檔

SQLite的策略非常獨(dú)特,它雖然開(kāi)放源代碼,任何人都可以下載,但是卻不接受外界的代碼貢獻(xiàn)。

這二十多年,只有Richard為首的三四個(gè)人維護(hù)。

這個(gè)小團(tuán)隊(duì)編寫(xiě)了大量的文檔,包括SQLite的架構(gòu),數(shù)據(jù)庫(kù)格式,查詢計(jì)劃,字節(jié)碼引擎、編譯期選項(xiàng)等等,非常詳盡,讓人嘆為觀止。


它的文檔就像一本“SQLite 教科書(shū)”,幾乎涵蓋了從初學(xué)者到系統(tǒng)開(kāi)發(fā)者所有層次的需求。

文檔里不僅告訴你“能怎么用”,還告訴你“為什么這樣設(shè)計(jì)”,甚至記錄某些歷史包袱和兼容性考慮。

比如SQLite 特有的“Railroad Diagram”(鐵道圖)來(lái)展示 SQL 語(yǔ)法,非常直觀,比光靠文字描述更容易理解。


可以說(shuō),SQLite的文檔在開(kāi)源軟件中是數(shù)一數(shù)二的。

03

優(yōu)秀的注釋

SQLite的注釋尤其驚人,注釋竟然超過(guò)了35%的內(nèi)容。

我們經(jīng)常會(huì)看到一些模版式的代碼注釋,說(shuō)了相當(dāng)于沒(méi)說(shuō),但是SQLite不同,它的注釋非常實(shí)用,能解釋變量和對(duì)象的真正含義。

比如 btree.c、pager.c 這些核心文件,都會(huì)在開(kāi)頭詳細(xì)描述 B-Tree、Pager 層的設(shè)計(jì)原理,讓讀代碼的人不用完全依賴外部文檔。

Richard Hipp 很注重可移植性與穩(wěn)定性,很多注釋會(huì)解釋為什么這樣設(shè)計(jì)、有哪些邊界情況需要處理。

注釋里經(jīng)常會(huì)提到“這是為了應(yīng)對(duì)某個(gè) bug/某個(gè)平臺(tái)的限制”。

注釋和代碼風(fēng)格統(tǒng)一、簡(jiǎn)潔。沒(méi)有花哨的行話,基本是“寫(xiě)給未來(lái)的自己/其他人看的”,不像很多項(xiàng)目那樣只寫(xiě)函數(shù)名的重復(fù)解釋。

目標(biāo)就是方便新程序員理解,使其在未來(lái)幾十年內(nèi)易于維護(hù)。

04

災(zāi)難備份

永遠(yuǎn)不用擔(dān)心SQLite源碼被篡改和丟失,因?yàn)镽ichard把源碼每個(gè)歷史版本都做了加密保護(hù),并且自動(dòng)復(fù)制到不同數(shù)據(jù)中心的服務(wù)器中。

此外,全球還有數(shù)千個(gè)額外的Clone版本在各個(gè)私人服務(wù)器上。

更有意思的是,Richard說(shuō)SQLite的這三四個(gè)人小團(tuán)隊(duì)也分布在世界各地,即使某個(gè)大陸沉沒(méi)了,SQLite依然可以存活。

05

保守/實(shí)用主義

計(jì)算機(jī)領(lǐng)域發(fā)展太快了,新技術(shù)層出不窮,每個(gè)人都會(huì)受到新潮流的影響。

但是SQLite開(kāi)發(fā)者盡量避免被最新時(shí)髦做法所吸引,他們傾向于編寫(xiě)經(jīng)得住時(shí)間考驗(yàn)的代碼,這樣的代碼應(yīng)當(dāng)是“永恒的”,讓那些“未出生的程序員”在將來(lái)也能輕松閱讀、理解和維護(hù)。

說(shuō)實(shí)話,我看到“未出生的程序員”是又震撼又疑惑,震撼的是今年Richard已經(jīng)64歲,如果干到2050年,都89了,他這么做,確實(shí)是在考慮未來(lái)代碼的傳承。

疑惑的是如果將來(lái)技術(shù)出現(xiàn)重大變化,還讓讓未來(lái)的程序員來(lái)看古老的代碼,是不是并不太好?

幸運(yùn)的是,SQLite用的是C語(yǔ)言這樣“永不過(guò)時(shí)的編程語(yǔ)言”,數(shù)據(jù)庫(kù)理論又非常穩(wěn)定,所以他做出這樣的選擇應(yīng)該也沒(méi)啥問(wèn)題。

06

“變態(tài)”的測(cè)試

SQLite 的測(cè)試非常變態(tài),它不僅測(cè)試了源碼中的每個(gè)分支,每個(gè)判斷,甚至考慮了機(jī)器指令層面。

它會(huì)在不同的平臺(tái)(例如 x86_64、ARM64、32-bit 平臺(tái)),不同操作系統(tǒng)(Linux/Windows/macOS/嵌入式 RTOS)等,不同編譯器(GCC、Clang、MSVC、各種交叉編譯器)反復(fù)執(zhí)行,對(duì)不同優(yōu)化級(jí)別、不同代碼生成選項(xiàng)、多次構(gòu)建的重復(fù)檢查,找出偶發(fā)性/非確定性錯(cuò)誤(比如未初始化內(nèi)存導(dǎo)致的隨機(jī)行為、競(jìng)態(tài)、內(nèi)存重用引發(fā)的間歇性崩潰)。

它真正織起來(lái)一張龐大的安全網(wǎng),只要你改動(dòng)的代碼引入了Bug,立刻就會(huì)被這張網(wǎng)給捕捉到。

它的深度和重復(fù)性可以說(shuō)是“接近航空級(jí)別”,極端嚴(yán)格和全面。

這種長(zhǎng)期的嚴(yán)格的承諾,不但讓SQLite坐穩(wěn)了嵌入式關(guān)系數(shù)據(jù)庫(kù)一哥的寶座,也贏得了那些需要長(zhǎng)久保存數(shù)據(jù)機(jī)構(gòu)的信任。

比如世界上最大的圖書(shū)館,美國(guó)國(guó)會(huì)圖書(shū)館就把SQLite確定為保持?jǐn)?shù)字化內(nèi)容的推薦存儲(chǔ)格式,和SQLite并列的是XML、JSON 、CSV這樣標(biāo)準(zhǔn)的格式。

SQLite開(kāi)放源碼,但不接受外界貢獻(xiàn),就這么幾個(gè)人,精雕細(xì)琢,不斷打磨,不但搞出了極其精良的代碼,極其詳盡的文檔,更是讓SQLite成了世界上最流行的數(shù)據(jù)庫(kù)。

在AIGC大行其道的今天,SQLite依然堅(jiān)持這種“工匠式”的軟件開(kāi)發(fā),實(shí)在是罕見(jiàn)。

正因?yàn)橛羞@樣執(zhí)著的開(kāi)發(fā)者,不追逐潮流,不為炫技而妥協(xié),它的穩(wěn)定性、可靠性和可維護(hù)性才得以跨越幾十年,成為每一臺(tái)設(shè)備、每一個(gè)應(yīng)用不可或缺的基石。

特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺(tái)“網(wǎng)易號(hào)”用戶上傳并發(fā)布,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。

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.

相關(guān)推薦
熱點(diǎn)推薦
談判桌上國(guó)民黨掏出一張地圖要?jiǎng)澖危直霋吡艘谎,冷冷甩出一句話,讓?duì)面徹底死心

談判桌上國(guó)民黨掏出一張地圖要?jiǎng)澖危直霋吡艘谎,冷冷甩出一句話,讓?duì)面徹底死心

源溯歷史
2026-01-06 18:36:13
1948年,王耀武吃了宋美齡親自做的一頓飯,轉(zhuǎn)頭告誡妻子:去香港,千萬(wàn)別去臺(tái)灣!

1948年,王耀武吃了宋美齡親自做的一頓飯,轉(zhuǎn)頭告誡妻子:去香港,千萬(wàn)別去臺(tái)灣!

源溯歷史
2026-01-07 20:20:13
一條新聞消失了

一條新聞消失了

深藍(lán)財(cái)經(jīng)
2026-01-07 14:22:05
廣州小學(xué)生被抽血事件:告訴爸媽就扣小紅花

廣州小學(xué)生被抽血事件:告訴爸媽就扣小紅花

每日一見(jiàn)
2026-01-02 12:21:28
38歲技術(shù)總監(jiān)被辭僅得7萬(wàn),秒退所有工作群,次日231個(gè)未接來(lái)電

38歲技術(shù)總監(jiān)被辭僅得7萬(wàn),秒退所有工作群,次日231個(gè)未接來(lái)電

磊子講史
2025-06-21 14:14:16
冷空氣馬上到,廣東最低-4℃!寒潮帽子這樣戴,護(hù)好腦血管

冷空氣馬上到,廣東最低-4℃!寒潮帽子這樣戴,護(hù)好腦血管

城事特搜
2026-01-07 19:25:53
有人預(yù)測(cè):從2026年開(kāi)始,存款超過(guò)50萬(wàn)以上家庭,會(huì)面對(duì)三大問(wèn)題

有人預(yù)測(cè):從2026年開(kāi)始,存款超過(guò)50萬(wàn)以上家庭,會(huì)面對(duì)三大問(wèn)題

蜉蝣說(shuō)
2025-12-31 11:03:55
最后33秒威少一攻一防,就是詹姆斯趕走他的真正原因!錯(cuò)怪詹皇了

最后33秒威少一攻一防,就是詹姆斯趕走他的真正原因!錯(cuò)怪詹皇了

嘴炮體壇
2026-01-07 16:00:20
礦泉水標(biāo)簽使用高度相似20元人民幣圖案?網(wǎng)友:“簡(jiǎn)直一模一樣!”官方回應(yīng):正在進(jìn)一步研判是否違規(guī)

礦泉水標(biāo)簽使用高度相似20元人民幣圖案?網(wǎng)友:“簡(jiǎn)直一模一樣!”官方回應(yīng):正在進(jìn)一步研判是否違規(guī)

閃電新聞
2026-01-06 17:23:52
太給力了!郴州一工廠員工聚餐抽獎(jiǎng),獎(jiǎng)金168000元,設(shè)1143個(gè)名額

太給力了!郴州一工廠員工聚餐抽獎(jiǎng),獎(jiǎng)金168000元,設(shè)1143個(gè)名額

火山詩(shī)話
2026-01-07 11:06:32
半程落后榜首10分!曝62歲穆帥將連續(xù)3年被解雇 阿莫林或取而代之

半程落后榜首10分!曝62歲穆帥將連續(xù)3年被解雇 阿莫林或取而代之

風(fēng)過(guò)鄉(xiāng)
2026-01-07 08:11:54
12.8萬(wàn)億天量提前還貸!老百姓扛不住, 樓市救市, 這次真要來(lái)了?

12.8萬(wàn)億天量提前還貸!老百姓扛不住, 樓市救市, 這次真要來(lái)了?

蜉蝣說(shuō)
2026-01-05 15:00:34
美國(guó)宣布已扣押“貝拉1”號(hào)油輪

美國(guó)宣布已扣押“貝拉1”號(hào)油輪

澎湃新聞
2026-01-07 22:29:06
WTT冠軍賽:首場(chǎng)大爆冷!奧運(yùn)亞軍1:3被淘汰,不敵日本男單選手

WTT冠軍賽:首場(chǎng)大爆冷!奧運(yùn)亞軍1:3被淘汰,不敵日本男單選手

國(guó)乒二三事
2026-01-07 20:15:08
蘋果iOS 26.3今天推送:更新后關(guān)閉6個(gè)設(shè)置,系統(tǒng)流暢度提高10%

蘋果iOS 26.3今天推送:更新后關(guān)閉6個(gè)設(shè)置,系統(tǒng)流暢度提高10%

小柱解說(shuō)游戲
2026-01-07 13:22:01
風(fēng)向不對(duì)!網(wǎng)上現(xiàn)大量“美國(guó)只斬首,不傷平民”言論,值得警惕

風(fēng)向不對(duì)!網(wǎng)上現(xiàn)大量“美國(guó)只斬首,不傷平民”言論,值得警惕

消失的電波
2026-01-06 14:11:46
遲到的父愛(ài)也是愛(ài),成龍向女兒拋橄欖枝,吳卓林回應(yīng)已回香港創(chuàng)業(yè)

遲到的父愛(ài)也是愛(ài),成龍向女兒拋橄欖枝,吳卓林回應(yīng)已回香港創(chuàng)業(yè)

青史樓蘭
2026-01-07 09:35:21
這下麻煩大了!不到48小時(shí),閆學(xué)晶再迎2大噩耗,何慶魁也被牽連

這下麻煩大了!不到48小時(shí),閆學(xué)晶再迎2大噩耗,何慶魁也被牽連

阿纂看事
2026-01-07 12:16:27
全球首款可量產(chǎn)全固態(tài)電池發(fā)布,充電一分鐘可續(xù)航60公里,已有摩托車采用

全球首款可量產(chǎn)全固態(tài)電池發(fā)布,充電一分鐘可續(xù)航60公里,已有摩托車采用

紅星資本局
2026-01-06 19:14:11
一直在重建的曼聯(lián):主教練“死局”,從買C羅回來(lái)賣球衣開(kāi)始

一直在重建的曼聯(lián):主教練“死局”,從買C羅回來(lái)賣球衣開(kāi)始

中場(chǎng)陰謀家
2026-01-07 22:42:52
2026-01-08 00:55:00
碼農(nóng)翻身 incentive-icons
碼農(nóng)翻身
有趣且硬核的技術(shù)文章
216文章數(shù) 605關(guān)注度
往期回顧 全部

科技要聞

精華!黃仁勛CES記者會(huì):揭秘新款大殺器

頭條要聞

委向美移交5000萬(wàn)桶原油有部分原本銷往中國(guó) 中方回應(yīng)

頭條要聞

委向美移交5000萬(wàn)桶原油有部分原本銷往中國(guó) 中方回應(yīng)

體育要聞

賣水果、搬磚的小伙,與哈蘭德?tīng)?zhēng)英超金靴

娛樂(lè)要聞

《馬背搖籃》首播,革命的樂(lè)觀主義故事

財(cái)經(jīng)要聞

農(nóng)大教授科普:無(wú)需過(guò)度擔(dān)憂蔬菜農(nóng)殘

汽車要聞

燃油駕趣+智能電感雙Buff 試駕全新奧迪Q5L

態(tài)度原創(chuàng)

時(shí)尚
本地
游戲
公開(kāi)課
軍事航空

李夢(mèng)系穿搭,就這么養(yǎng)成了

本地新聞

“閩東利劍·惠民安商”高效執(zhí)行專項(xiàng)行動(dòng)

網(wǎng)友驚呆了!《美末2》艾莉孩子竟是美女動(dòng)捕制作的

公開(kāi)課

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

軍事要聞

特朗普政府正在討論獲取格陵蘭島的方案 包括軍事選項(xiàng)

無(wú)障礙瀏覽 進(jìn)入關(guān)懷版