LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開(kāi)發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

我開(kāi)發(fā)了世界上最流行的數(shù)據(jù)庫(kù)SQLite,并把100%的股份送給了老婆!

admin
2024年11月8日 21:47 本文熱度 597

世界上使用最廣泛的軟件是哪個(gè)?


Windows ? Android?  Office ?


都不對(duì)!


答案是 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....)

  • ......


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


這個(gè)流行的軟件,就是我, Richard Hipp開(kāi)發(fā)的。



每個(gè)流行的軟件都是為了解決一個(gè)痛點(diǎn)問(wèn)題,SQLite也不例外。


故事要從2000年說(shuō)起,當(dāng)時(shí)我在為美國(guó)海軍的一個(gè)驅(qū)逐艦開(kāi)發(fā)軟件,這個(gè)軟件要對(duì)船上所有的閥門(mén)進(jìn)行管理和操作。



當(dāng)時(shí),美國(guó)海軍使用的是IBM的Informix數(shù)據(jù)庫(kù),我寫(xiě)的軟件需要通過(guò)網(wǎng)絡(luò)訪(fǎng)問(wèn)它來(lái)讀取數(shù)據(jù)。


但是有時(shí)候Informix所在的服務(wù)器會(huì)掛掉,閥門(mén)管理軟件就會(huì)報(bào)錯(cuò):不能連接到服務(wù)器!



海軍對(duì)我的冤枉不算什么,但是驅(qū)逐艦是要上戰(zhàn)場(chǎng)的,打仗時(shí)如果受到損害網(wǎng)絡(luò)不通怎么辦?難道我的軟件就不能用了嗎?



當(dāng)時(shí)紐特·金里奇和比爾·克林頓正在“打架”,所以所有政府合同都暫停執(zhí)行,所以我失業(yè)了幾個(gè)月。


沒(méi)事可干, 我決定把這個(gè)嵌入式數(shù)據(jù)引擎給寫(xiě)出來(lái)。


市面上的數(shù)據(jù)庫(kù)基本上都是Client-Server架構(gòu)的, 它的特點(diǎn)是這樣:



但是我想寫(xiě)的嵌入式數(shù)據(jù)庫(kù)則是進(jìn)程內(nèi)通信,直接從本地硬盤(pán)中讀取文件,非常快



換句話(huà)說(shuō),每個(gè)程序都可以擁有一個(gè)本地的數(shù)據(jù)庫(kù)。


可是我并不是一個(gè)數(shù)據(jù)庫(kù)專(zhuān)家, 只是在大學(xué)中學(xué)過(guò)一個(gè)數(shù)據(jù)庫(kù)課程而已。


沒(méi)辦法,我只好去圖書(shū)館中借書(shū),學(xué)習(xí)。



開(kāi)發(fā)軟件肯定要選一門(mén)編程語(yǔ)言,我選擇偉大的C語(yǔ)言!



確定了語(yǔ)言,我開(kāi)始做一些重要的系統(tǒng)設(shè)計(jì),首先是如何存儲(chǔ)數(shù)據(jù)。



其次是應(yīng)用程序如何訪(fǎng)問(wèn)SQLite



當(dāng)我在實(shí)現(xiàn)SQL層的時(shí)候,需要閱讀SQL標(biāo)準(zhǔn),我發(fā)現(xiàn)SQL標(biāo)準(zhǔn)太繁雜了。



萬(wàn)般無(wú)奈之下,我只好去看PostGres的文檔,作為處理SQL語(yǔ)句的參考。


最終的結(jié)果是, SQLite和Postgres的命令行有點(diǎn)像



SQLite 第一版本很快寫(xiě)出來(lái)了,但是具有諷刺意味是,造船廠(chǎng)居然不用,他們還堅(jiān)持使用Informix!


那就開(kāi)源吧!我把它放到一個(gè)網(wǎng)站上,滿(mǎn)心期望引起世界的關(guān)注。


一年過(guò)去了,事情的發(fā)展往往不能如愿。



平心而論,SQLite第一個(gè)版本并不是真正的關(guān)系型數(shù)據(jù)庫(kù),而是一個(gè)Hashing-based 數(shù)據(jù)庫(kù)。


我決定重寫(xiě),實(shí)現(xiàn)B+ Tree存儲(chǔ)引擎



2001年,911事件發(fā)生不久, SQLite v2 問(wèn)世了。


很快,我接到了手機(jī)巨頭摩托羅拉的電話(huà)



我沒(méi)有想到,開(kāi)源也能賺錢(qián),這一單生意, 我賺了8萬(wàn)美元。


隨后, 巨無(wú)霸AOL也拋來(lái)了橄欖枝。



2005年,當(dāng)時(shí)的手機(jī)老大諾基亞也來(lái)了, 他們也想為手機(jī)找個(gè)數(shù)據(jù)庫(kù)。


他們很謹(jǐn)慎,找了10個(gè)數(shù)據(jù)庫(kù)做橫向?qū)Ρ葴y(cè)評(píng),最后SQLite輕松勝出。



SQLite被用的越來(lái)越多,發(fā)展勢(shì)頭越來(lái)越好。


只不過(guò)SQLite的開(kāi)發(fā)者主要是我,這讓客戶(hù)有點(diǎn)擔(dān)心。



而我的SQLite , Bus Factor 等于1 !怪不得客戶(hù)著急了。


為了保證SQLite能長(zhǎng)期的發(fā)展下去,需要更多業(yè)界人士參與SQLite開(kāi)發(fā), 客戶(hù)希望我建立一個(gè)SQLite聯(lián)盟。


在Mozilla 基金會(huì)的負(fù)責(zé)人米切爾·貝克的幫助下,Mozilla、 Symbian、Adobe成為了聯(lián)盟的初始成員。



SQLite 重新進(jìn)入了發(fā)展的快車(chē)道,2005年,一個(gè)叫Android的東西向我拋來(lái)了橄欖枝。


這玩意兒可編程性、可調(diào)試性非常強(qiáng),并且操作系統(tǒng)很容易更新,每天都可以更新幾次。


Android最早期的原型機(jī)是這樣的。



我意識(shí)到這是個(gè)爆炸性的東西, 但是出于保密協(xié)議,我沒(méi)法通知諾基亞和摩托羅拉它們。


它們將被智能手機(jī)無(wú)情地碾壓。


這時(shí)候我的SQLite數(shù)據(jù)庫(kù)已經(jīng)很火爆了,我的軟件咨詢(xún)公司不得不雇傭了幾個(gè)人來(lái)做技術(shù)支持。



我對(duì)自己的代碼非常自信, 天真地四處吹噓SQLite沒(méi)有任何嚴(yán)重Bug,但是當(dāng)它發(fā)布到海量的移動(dòng)設(shè)備上時(shí),潛藏的Bug出現(xiàn)了。


這對(duì)我的自尊心造成了很大的傷害,我決心把SQLite的質(zhì)量提上去。達(dá)到航空電子設(shè)備的質(zhì)量!


而航空電子設(shè)備的質(zhì)量至少要實(shí)現(xiàn)MC/DC這個(gè)苛刻的標(biāo)準(zhǔn) !



我開(kāi)始編寫(xiě)測(cè)試,達(dá)到100%的MC/DC , 這花了我一年的時(shí)間,每周60個(gè)小時(shí)!這真是非常、非常、非常艱難的工作。



實(shí)際上,想達(dá)到95%的覆蓋率并不是特別難,但是剩下的5%實(shí)在是太難了。


艱苦的付出獲得了極為豐厚的回報(bào), 從那以后,Android再也不找我麻煩了。



我付出了艱苦的努力,讓SQLite成了世界上最流行的數(shù)據(jù)庫(kù)。


這一切都很難,但是和說(shuō)服Ginger G. Wyrick 嫁給我相比,SQLite不算什么。


Ginger 是一個(gè)音樂(lè)家和作家,美麗又才華橫溢。


?


我很愛(ài)她,一結(jié)婚就把公司名稱(chēng)變成了 Hipp, Wyrick & Company, 并且把公司所有的股份送給了她。


這個(gè)公司只有兩個(gè)人,她是CEO 和COO, 而我,則是唯一的程序員。


最后,總結(jié)一下SQLite為什么能成功吧。


首先,它是一個(gè)可靠的、穩(wěn)定的數(shù)據(jù)庫(kù),對(duì)事務(wù)的支持,讓它在應(yīng)用崩潰時(shí)也不會(huì)丟失任何數(shù)據(jù)。這比你自己操作XML,JSON等文件要可靠得多。


其次,它可以輕松地嵌入到任何語(yǔ)言寫(xiě)的系統(tǒng)中。


最后,它開(kāi)箱即用,非常簡(jiǎn)單!


全文完,覺(jué)得不錯(cuò)的話(huà)點(diǎn)個(gè)或者在看吧!


本文作者

劉欣著有暢銷(xiāo)書(shū)《碼農(nóng)翻身》《半小時(shí)漫畫(huà)計(jì)算機(jī)》,前IBM架構(gòu)師,領(lǐng)導(dǎo)過(guò)多個(gè)企業(yè)應(yīng)用架構(gòu)設(shè)計(jì)和開(kāi)發(fā)工作;洞察技術(shù)本質(zhì),擅長(zhǎng)用故事去講解復(fù)雜技術(shù)。


該文章在 2024/11/11 14:46:59 編輯過(guò)
關(guān)鍵字查詢(xún)
相關(guān)文章
正在查詢(xún)...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專(zhuān)業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車(chē)隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開(kāi)發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類(lèi)企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷(xiāo)售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶(hù)的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
亚洲人成高清在线播放 | 日韩国产亚洲一区二区 | 中文字幕一区二区视频 | 熟女精品视频一区 | 伊人精品成人久久综合 | 亚洲欧美日韩另类 |