日韩欧美人妻无码精品白浆,夜夜嗨AV免费入口,国产欧美官网在线看,高校回应聋哑女生因长相完美被质疑

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

SQLite:一個(gè)偽裝成數(shù)據(jù)庫的語言

admin
2025年1月6日 20:59 本文熱度 807

SQLite是一個(gè)嵌入式的數(shù)據(jù)庫,具有體積小、運(yùn)行快、跨平臺(tái)等優(yōu)點(diǎn),更關(guān)鍵的是,SQLite只有13萬行左右。而傳統(tǒng)的大型關(guān)系型數(shù)據(jù)庫如Mysql、Oracle,代碼行數(shù)超100多萬行。

SQLite從2000年第一個(gè)版本發(fā)布到現(xiàn)在,已經(jīng)運(yùn)行在數(shù)億設(shè)備上了,從本地應(yīng)用、小型桌面應(yīng)用,到移動(dòng)設(shè)備應(yīng)用(如 iOS、Android 應(yīng)用),甚至在每一臺(tái)電腦,在每一個(gè)瀏覽器之中都有它的身影。
為什么說SQLite是一個(gè)偽裝成一門編程語言的數(shù)據(jù)庫呢?

說來話長

要說清楚這個(gè)問題,我們需要了解它誕生的過程。
大概在1999年,軟件工程師D. Richard Hipp正在為美國海軍開發(fā)一款使用在導(dǎo)彈驅(qū)逐艦上的軟件,數(shù)據(jù)庫使用的是Informix。

Informix是一款功能強(qiáng)大的數(shù)據(jù)庫,但有個(gè)十分惱火的問題是,Informix經(jīng)常會(huì)崩潰連不上。不過軍隊(duì)里的長官可不知道什么tcp/ip協(xié)議、數(shù)據(jù)庫等知識(shí),只看到軟件彈出的錯(cuò)誤對(duì)話框,而這個(gè)對(duì)話框正是Hipp開發(fā)的。

作為一個(gè)擁有專業(yè)素的軟件工程師,一個(gè)想法便在Hipp腦海中產(chǎn)生:既然Informix那么不穩(wěn)定,那干脆把它替換掉吧。
于是,在2000年1月,Hipp開始和同事討論關(guān)于開發(fā)一個(gè)簡單的嵌入式的數(shù)據(jù)庫。
Hipp想法很簡單,作為一個(gè)運(yùn)行在性能不高的機(jī)器上的程序,Informix數(shù)據(jù)庫體積太大、無法安裝,而且它是一個(gè)單獨(dú)運(yùn)行的進(jìn)程,為什么不能直接從磁盤上存取數(shù)據(jù)呢?

故事轉(zhuǎn)折

可是問題來了,Hipp并沒有開發(fā)過數(shù)據(jù)庫,甚至都不懂B樹,需要用到的時(shí)候還得去翻看 The Art of Computer Programming(計(jì)算機(jī)程序設(shè)計(jì)藝術(shù))。
這下就尷尬了。

不過好在Hipp有開發(fā)編譯器的經(jīng)驗(yàn)。

在Hipp看來,一條SQL的執(zhí)行跟一條編程語言的執(zhí)行的本質(zhì)是一樣的,都是對(duì)預(yù)定義的語法規(guī)則進(jìn)行解釋并執(zhí)行。兩者的區(qū)別是,編程語言最終是由計(jì)算機(jī)硬件執(zhí)行,而SQL最終是由控制磁盤的程序去執(zhí)行。
看過往期《從零開發(fā)一門編程語言系列》的同學(xué),對(duì)編譯器的開發(fā)過程十分熟悉了,其過程如下所示:
說干就干,Hipp先構(gòu)建了一個(gè)SQL的解析器,接著把SQL語句轉(zhuǎn)成了bytecode,最后構(gòu)建一個(gè)bytecode執(zhí)行器完成相關(guān)數(shù)據(jù)的操作。
不過Hipp并沒有把它立即運(yùn)行在艦載機(jī)程序上,而是先發(fā)布到網(wǎng)上,驗(yàn)證自己的想法和測試代碼。
B-Tree模塊:由B-Tree、頁緩沖和操作系統(tǒng)接口組成。它們操作的是數(shù)據(jù)頁,這些頁具有相同的大小,就像一個(gè)個(gè)集裝箱。B-Tree的主要功能就是索引,維護(hù)著頁與頁之間的關(guān)系,以便快速找到所需的數(shù)據(jù)。頁緩沖主要作用是提高B-Tree與磁盤間的傳遞效率,我們知道,磁盤操作是計(jì)算機(jī)系統(tǒng)中操作最慢的事。           

耳熟能詳

后來的故事大家都耳熟能詳,大家看到一個(gè)數(shù)據(jù)庫居然能運(yùn)行在性能非常弱的掌機(jī)上,都大為驚嘆。
一些大公司注意到了SQLite,首先是摩托羅拉,簽訂了第一筆8萬美元的功能增強(qiáng)商業(yè)訂單。接著巨頭 AOL(美國在線)也打來了電話,要把SQLite放到CD里使用。甚至諾基亞也過來了,他們需要把 SQLite 放到 symbian os(塞班系統(tǒng))。
不過最后讓SQLite發(fā)言光大的,還是安卓,你在各類 app 里都能見到 .db 結(jié)尾的文件,就是它的數(shù)據(jù)。
很快,SQLite就像病毒一樣,無處不在。


閱讀原文:原文鏈接


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