SQLite是一個進程內庫,實現了自包含,無服務器,零配置,事務性SQL數據庫引擎。SQLite的代碼處于公有領域,因此可以免費用于任何目的,無論是商業用途還是個人用途。
SQLite是一個嵌入式SQL數據庫引擎。與大多數其他SQL數據庫不同,SQLite沒有單獨的服務器進程。SQLite直接讀寫到普通的磁盤文件中。一個包含多個表、索引、觸發器和視圖的完整的SQL數據庫包含在一個磁盤文件中。數據庫文件格式是跨平臺的——您可以在32位和64位系統之間或在大端和小端架構之間自由復制數據庫。這些特性使SQLite成為一種流行的應用程序文件格式的選擇。SQLite數據庫文件是美國國會圖書館推薦的存儲格式。將SQLite視為對Oracle的替代方案。但是作為fopen()的替代品
SQLite是一個緊湊的庫。啟用所有功能時,庫的大小可以小于750KiB,這取決于目標平臺和編譯器優化設置。(64位代碼更大。某些編譯器優化如激進的函數內聯和循環展開會導致目標代碼變得更大。)內存使用和速度之間存在權衡。SQLite通常運行得越快,給它提供的內存就越多。然而,即使在低內存環境中,性能通常也相當好。根據使用方式,SQLite可以比直接的文件系統I/O更快。
SQLite在每次發布前都經過非常仔細的測試,并且以其高可靠性而聞名。SQLite的大部分源代碼純粹用于測試和驗證。自動化測試套件運行了數以百萬計的測試案例,涉及數十億個單獨的SQL語句,并實現了100%的分支測試覆蓋。SQLite能夠優雅地應對內存分配失敗和磁盤I/O錯誤。事務是ACID即使在系統崩潰或停電中斷的情況下也是如此。這一切都通過使用特殊測試工具進行自動化測試來驗證,這些測試工具模擬系統故障。當然,即使有所有這些測試,仍然會有錯誤。但與一些類似的項目(尤其是商業競爭對手)不同,SQLite對所有錯誤都是開放和誠實的,并提供錯誤列表和逐分鐘的代碼更改時間表。
SQLite代碼庫由一個國際團隊的開發人員支持,這些開發人員全職致力于SQLite的開發。開發人員繼續擴展SQLite的功能,并在保持已發布接口規范、SQL語法和數據庫文件格式的向后兼容性的同時提升其可靠性和性能。源代碼對任何想要的人都絕對免費,但專業支持也隨時提供。
SQLite項目于2000-05-09開始。未來總是難以預測,但開發者的意圖是支持SQLite到2050年。設計決策都是以這個目標為指導的。