SQLite官文翻譯(一):關於SQLite


官文地址:http://www.sqlite.org/about.html

1 開源


SQLite是開源的,處於公有領域中,可免費用於任何目的,無論商用還是個人使用。

2 嵌入式數據庫


SQLite是一個嵌入式的數據庫引擎。與大多數其他SQL數據庫不同,它沒有單獨的服務器進程,SQLite數據庫的表/索引/觸發器/視圖都包含在一個單獨磁盤文件中,SQLite直接讀寫此磁盤文件。其數據庫文件格式可跨平臺,用戶可在32位/64位系統間,低字節序/高字節序架構間拷貝,因而使其成爲了流行的應用程序文件格式。

3 自包含/無服務器端/零配置/事務型


自包含


最大程度實現了自包含,其僅需要外部庫或操作系統最小的支持。這使得它很適用於嵌入式設備,也適用於各種各樣不同配置的電腦上,無需修改而直接在應用內部調用。

無服務器端

大多數SQL數據庫引擎實現爲一個單獨的服務器進程,想要訪問數據庫的程序,需要與數據庫服務器實現進程間通信(如TCP/IP)來發送請求和獲取返回結果。而SQLite沒有中間的服務器進程,想訪問數據庫的程序可直接讀寫磁盤上的數據庫文件。

零配置

SQLite使用前無需安裝,沒有配置文件,沒有服務器進程需要啓用/停止/配置,無需管理者創建新的數據庫實例或給用戶授權。使用前無需告知系統其在運行,系統崩潰或斷電後無需恢復。其他數據庫引擎一旦你使它跑起來,也許會運轉良好,但開始的安裝和配置過程常常很嚇人。

事務型

事務型數據庫的所有變化和查詢具有原子性,一致性,隔離性和持久性。SQLite即使在程序崩潰,系統崩潰或斷電時,也保證一個事務內所有變化要麼全部執行,要不都不執行。

4 緊湊型庫

全部特性啓用的話,庫的大小能少於500K,具體看目標平臺和編譯優化的設置。(64位代碼的話會大些,一些編譯優化,如最大限度的函數內聯,展開循環等會使得目標代碼更大。)如果省略可選功能,SQLite庫的大小可減至300K。SQLite可以在最小的棧空間(4K)和最小的堆空間上運行(100K),使其成爲內存受限的小型設備(如手機,PDA,MP3等)的流行之選。內存使用和速度之間需要做出折中,內存多SQLite通常運行更快,不過即便在小內存的環境,其性能通常也很好。

5 測試充分

SQLite每個版本之前都經過了充分的測試,有着可靠的聲譽。大部分SQLite源碼純粹是用於測試和驗證。自動化測試跑了數以百萬計的測試用例,包含數億的單個SQL,測試覆蓋率達100%。SQLite對內存分配失敗和磁盤I/O錯誤表現優雅。事務是ACID的,即便是出現了系統崩潰或電源故障中斷。使用特殊的測試工具來模擬系統故障,這些都通過自動化測試予以驗證。當然,故障依然存在。不過不像其他類似的項目,尤其是商業競品,SQLite誠實地處理所有的故障,提供故障列表和及時的故障報告和代碼變更表。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章