欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

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

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

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

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

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

說來話長

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

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

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

故事轉(zhuǎn)折

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

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

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

耳熟能詳

后來的故事大家都耳熟能詳,大家看到一個數(shù)據(jù)庫居然能運行在性能非常弱的掌機上,都大為驚嘆。
一些大公司注意到了SQLite,首先是摩托羅拉,簽訂了第一筆8萬美元的功能增強商業(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)文章
正在查詢...
點晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運作、調(diào)度、堆場、車隊、財務(wù)費用、相關(guān)報表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點,圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務(wù)都免費,不限功能、不限時間、不限用戶的免費OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved