小巧、快速、可靠。
任選三項。
SQLite 的合適應用

SQLite 不能直接與用戶端/伺服器 SQL 資料庫引擎(例如 MySQL、Oracle、PostgreSQL 或 SQL Server)相比,因為 SQLite 試圖解決的是不同的問題。

用戶端/伺服器 SQL 資料庫引擎致力於實現企業資料的共享儲存庫。它們強調可擴展性、並行性、集中化和控制。SQLite 致力於為個別應用程式和設備提供本地資料儲存。SQLite 強調經濟性、效率、可靠性、獨立性和簡潔性。

SQLite 並非與用戶端/伺服器資料庫競爭。SQLite 的競爭對手是 fopen()

1. SQLite 適用情境

2. 用戶端/伺服器 RDBMS 可能更適合的情況

3. 選擇正確資料庫引擎的檢查清單

  1. 資料與應用程式是否透過網路分隔?→ 選擇客戶端/伺服器

    關聯式資料庫引擎充當減少頻寬的資料篩選器。因此,最好將資料庫引擎和資料保存在同一個實體裝置上,這樣高頻寬的引擎到磁碟連結就不必穿越網路,只有較低頻寬的應用程式到引擎連結才需要。

    但 SQLite 是內建於應用程式中的。因此,如果資料與應用程式位於不同的裝置上,則需要透過網路建立更高頻寬的引擎到磁碟連結。這是可行的,但並非最佳做法。因此,當資料與應用程式位於不同的裝置上時,通常最好選擇客戶端/伺服器資料庫引擎。

    請注意:在此規則中,「應用程式」是指發出 SQL 陳述式的程式碼。如果「應用程式」是應用程式伺服器,並且內容與應用程式伺服器位於同一台實體機器上,那麼即使最終使用者在另一個網路節點之外,SQLite 可能仍然適用。

  2. 許多並行寫入器?→ 選擇客戶端/伺服器

    如果許多執行緒和/或程序需要同時寫入資料庫(並且它們無法排隊輪流執行),那麼最好選擇支援該功能的資料庫引擎,這通常意味著客戶端/伺服器資料庫引擎。

    SQLite 每個資料庫檔案一次只支援一個寫入器。但在大多數情況下,寫入事務只需幾毫秒,因此多個寫入器可以簡單地輪流執行。SQLite 可以處理比許多人想像的更多的寫入併發性。儘管如此,客戶端/伺服器資料庫系統因為有一個長期執行的伺服器程序來協調存取,通常可以處理比 SQLite 更多的寫入併發性。

  3. 大數據?→ 選擇客戶端/伺服器

    如果您的資料將增長到您不願意或無法放入單個磁碟檔案的大小,那麼您應該選擇 SQLite 以外的解決方案。SQLite 支援最大 281 TB 的資料庫,前提是您可以找到支援 281 TB 檔案的磁碟機和檔案系統。即便如此,當內容大小看起來可能會達到 TB 級別時,最好考慮使用集中式的客戶端/伺服器資料庫。

  4. 否則 → 選擇 SQLite!

    對於寫入器併發性低且內容少於 1 TB 的裝置本地儲存,SQLite 幾乎總是更好的解決方案。SQLite 快速可靠,不需要任何配置或維護。它讓事情保持簡單。SQLite「就是好用」。

本頁面最後修改時間:2024 年 4 月 3 日 17:48:26 UTC