SQLite數(shù)據(jù)庫的技術(shù)特點點評
導讀:SQLite 是 D. Richard Hipp 用 C 語言編寫的開源嵌入式數(shù)據(jù)庫引擎。它是完全獨立的,不具有外部依賴性。它是作為 PHP V4.3 中的一個選項引入的,構(gòu)建在 PHP V5 中。SQLite 支持多數(shù) SQL92 標準,可以在所有主要的操作系統(tǒng)上運行,并且支持大多數(shù)計算機語言。SQLite 還非常健壯。其創(chuàng)建者保守地估計 SQLite 可以處理每天負擔多達 100,00 次點擊率的 Web 站點,并且 SQLite 有時候可以處理 10 倍于上述數(shù)字的負載。SQLite 的網(wǎng)址是,***版本是2005年9月24日發(fā)布的3.2.7 。SQLite的標志是一只羽毛,見圖-5。
圖6 SQLite標志
SQLite的技術(shù)特點:
SQLite 對 SQL92 標準的支持包括索引、限制、觸發(fā)和查看。SQLite 不支持外鍵限制,但支持原子的、一致的、獨立和持久 (ACID) 的事務(wù)(后面會提供有關(guān) ACID 的更多信息)。這意味著事務(wù)是原子的,因為它們要么完全執(zhí)行,要么根本不執(zhí)行。事務(wù)也是一致的,因為在不一致的狀態(tài)中,該數(shù)據(jù)庫從未被保留。事務(wù)還是獨立的,所以,如果在同一時間在同一數(shù)據(jù)庫上有兩個執(zhí)行操作的事務(wù),那么這兩個事務(wù)是互不干擾的。而且事務(wù)是持久性的,所以,該數(shù)據(jù)庫能夠在崩潰和斷電時幸免于難,不會丟失數(shù)據(jù)或損壞。SQLite 通過數(shù)據(jù)庫級上的獨占性和共享鎖定來實現(xiàn)獨立事務(wù)處理。這意味著當多個進程和線程可以在同一時間從同一數(shù)據(jù)庫讀取數(shù)據(jù),但只有一個可以寫入數(shù)據(jù)。在某個進程或線程向數(shù)據(jù)庫執(zhí)行寫入操作之前,必須獲得獨占鎖定。在發(fā)出獨占鎖定后,其他的讀或?qū)懖僮鲗⒉粫侔l(fā)生。
總結(jié):目前的開源數(shù)據(jù)庫還不能在功能和處理能力方面追上商業(yè)級產(chǎn)品,但價格的侵蝕力無法回避,開源數(shù)據(jù)庫迅速增長的市場份額甚至讓數(shù)據(jù)庫領(lǐng)域的三巨頭,Oracle、IBM、微軟都感到忐忑不安。開源數(shù)據(jù)庫的用戶在增長,并正在被越來越多的用戶所采用。在嵌入式數(shù)據(jù)庫領(lǐng)域,開源數(shù)據(jù)庫優(yōu)勢更加明顯。分析師稱開放源碼正在迅速被數(shù)據(jù)庫技術(shù)所采用。開放源碼“從2000年被懷疑到2005年已經(jīng)發(fā)展成為全球的主流技術(shù)”。低成本甚至免費的開源數(shù)據(jù)庫時代即將來。
隨著開放源代碼軟件的使用越來越廣泛,像Linux操作系統(tǒng)一樣,開放源代碼數(shù)據(jù)庫的出現(xiàn)也有其必然性。SQLite就是其中之一的開放源代碼的數(shù)據(jù)庫系統(tǒng),推動了開源數(shù)據(jù)庫的發(fā)展。
【編輯推薦】