小巧。快速。可靠。
任選三項。
SQLite 作為應用程式檔案格式
(注意:目前頁面簡要說明了為何 SQLite 能成為良好的應用程式檔案格式。此主題在 獨立技術說明 中有更詳細的探討。)
SQLite 已成功用於版本控制系統、財務分析工具、媒體編目和編輯套件、CAD 套件、記錄保存程式等桌面應用程式的磁碟檔案格式。傳統的檔案/開啟操作會呼叫 sqlite3_open() 來附加到資料庫檔案。當應用程式內容進行修改時,更新會自動發生,因此檔案/儲存選單選項變得多餘。檔案/另存新檔選單選項可以使用 備份 API 來實作。
使用 SQLite 作為應用程式檔案格式有許多優點,包括
- 效能更佳
- 從 SQLite 資料庫讀取和寫入通常比從磁碟讀取和寫入個別檔案快。請參閱 比檔案系統快 35% 和 內部 BLOB 與外部 BLOB。
- 應用程式只需要載入它需要的資料,而不必讀取整個檔案並在記憶體中保留完整的剖析。
- 小幅編輯只會覆寫檔案中變更的部分,減少寫入時間和 SSD 磁碟機的耗損。
- 降低應用程式成本和複雜性
- 無需撰寫和除錯應用程式檔案 I/O 程式碼。
- 可以使用簡潔的 SQL 查詢存取和更新內容,而不是冗長且容易出錯的程序常式。
- 檔案格式可在未來版本中透過新增新表格和/或欄位來擴充,同時保持向後相容性。
- 應用程式可以利用全文搜尋和RTREE索引,並使用觸發器來實作自動化復原/重做堆疊。
- 效能問題通常可以在開發週期後期使用CREATE INDEX來解決,避免昂貴的重新設計、重寫和重新測試工作。
- 可攜性
- 應用程式檔案可在所有作業系統、32 位元和 64 位元以及大端序和小端序架構中攜帶。
- 一個程式聯盟(可能全部以不同的程式語言撰寫)可以使用相同的應用程式檔案,而無需擔心相容性問題。
- 多個程序可以附加到相同的應用程式檔案,並且可以在不互相干擾的情況下讀取和寫入。
- 原本可能儲存為「一堆檔案」的不同內容會封裝到單一磁碟檔案中,以便透過 scp/ftp、USB 隨身碟和/或電子郵件附件進行更簡單的傳輸。
- 可靠性
- 內容可以持續且原子化地更新,因此在停電或當機時幾乎不會遺失任何工作。
- 在 SQLite 中出現錯誤的機率遠低於自訂撰寫的檔案 I/O 程式碼。
- SQL 查詢通常比等效的程序程式碼小很多倍,而且由於每行程式碼的錯誤數量大致恆定,這表示整體錯誤更少。
- 可存取性
- 可以使用各種第三方工具檢視 SQLite 資料庫內容。
- 儲存在 SQLite 資料庫中的內容更有可能在數十年後復原,即使在原始應用程式的所有痕跡都遺失後很久。資料比程式碼更長壽。
- SQLite 資料庫檔案由美國國會圖書館推薦作為長期保存數位內容的儲存格式。
SQLite 允許資料庫檔案有想要的任何副檔名,因此應用程式可以選擇自訂的副檔名供自己使用,如果需要的話。application_id pragma 可以用來在資料庫檔案中設定「應用程式 ID」整數,這樣像 file(1) 這樣的工具就能判斷該檔案與你的應用程式相關,而並非一般的 SQL 資料庫。
此頁面最後修改於 2022-01-08 05:02:57 UTC