一款輕型的數(shù)據(jù)庫。
SQLite,是一款輕型的數(shù)據(jù)庫,是遵守ACID的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),它包含在一個相對小的C庫中。它是D.RichardHipp建立的公有領(lǐng)域項(xiàng)目。它的設(shè)計(jì)目標(biāo)是嵌入式的,而且目前已經(jīng)在很多嵌入式產(chǎn)品中使用了它,它占用資源非常的低,在嵌入式設(shè)備中,可能只需要幾百K的內(nèi)存就夠了。它能夠支持Windows/Linux/Unix等等主流的操作系統(tǒng),同時能夠跟很多程序語言相結(jié)合,比如 Tcl、C#、PHP、Java等,還有ODBC接口,同樣比起Mysql、PostgreSQL這兩款開源的世界著名數(shù)據(jù)庫管理系統(tǒng)來講,它的處理速度比他們都快。SQLite第一個Alpha版本誕生于2000年5月。 至2015年已經(jīng)有15個年頭,SQLite也迎來了一個版本 SQLite 3已經(jīng)發(fā)布。
1.ACID事務(wù)
2.零配置 – 無需安裝和管理配置
3.儲存在單一磁盤文件中的一個完整的數(shù)據(jù)庫
4.數(shù)據(jù)庫文件可以在不同字節(jié)順序的機(jī)器間自由的共享
5.支持?jǐn)?shù)據(jù)庫大小至2TB
6.足夠小, 大致13萬行C代碼, 4.43M
7.比一些流行的數(shù)據(jù)庫在大部分普通數(shù)據(jù)庫操作要快
8.簡單, 輕松的API
9.包含TCL綁定, 同時通過Wrapper支持其他語言的綁定
10.良好注釋的源代碼, 并且有著90%以上的測試覆蓋率
11.獨(dú)立: 沒有額外依賴
12.源碼完全的開源, 你可以用于任何用途, 包括出售它
13.支持多種開發(fā)語言,C, C++, PHP, Perl, Java, C#,Python, Ruby等
在確定是否在應(yīng)用程序中使用 SQLite 之前,應(yīng)該考慮以下幾種情況:
有沒有可用于 SQLite 的網(wǎng)絡(luò)服務(wù)器。從應(yīng)用程序運(yùn)行位于其他計(jì)算機(jī)上的 SQLite 的惟一方法是從網(wǎng)絡(luò)共享運(yùn)行。這樣會導(dǎo)致一些問題,像 UNIX? 和 Windows? 網(wǎng)絡(luò)共享都存在文件鎖定問題。還有由于與訪問網(wǎng)絡(luò)共享相關(guān)的延遲而帶來的性能下降問題。
SQLite 只提供數(shù)據(jù)庫級的鎖定。雖然有一些增加并發(fā)的技巧,但是,如果應(yīng)用程序需要的是表級別或行級別的鎖定,那么 DBMS 能夠更好地滿足您的需求。
正如前面提到的,SQLite 可以支持每天大約 100,00 次點(diǎn)擊率的 Web 站點(diǎn) —— 并且,在某些情況下,可以處理 10 倍于此的通信量。對于具有高通信量或需要支持龐大瀏覽人數(shù)的 Web 站點(diǎn)來說,應(yīng)該考慮使用 DBMS。
SQLite 沒有用戶帳戶概念,而是根據(jù)文件系統(tǒng)確定所有數(shù)據(jù)庫的權(quán)限。這會使強(qiáng)制執(zhí)行存儲配額發(fā)生困難,強(qiáng)制執(zhí)行用戶許可變得不可能。
SQLite 支持多數(shù)(但不是全部)的 SQL92 標(biāo)準(zhǔn)。不受支持的一些功能包括完全觸發(fā)器支持和可寫視圖。
SQLite官網(wǎng):http://www.sqlite.org/
SQLite官方文檔:http://www.sqlite.org/docs.html
SQLite教程:http://www.hgci.cn/sqlite/sqlite-intro.html
SQLite下載:http://www.sqlite.org/index.html