1. 程式人生 > 程式設計 >SQLite的簡單介紹和使用場景

SQLite的簡單介紹和使用場景

img

什麼是SQLite?

SQLite是一款輕型的嵌入式資料庫.它的資料庫就是一個檔案.

小型嵌入式,跟mysql差不多,但是更小,功能相對較少,它佔用的資源非常低,可能只需要幾百k的記憶體就夠了.

是一個真正開源的無限制的資料庫,跨平臺,支援Linux,Mac,Android,iOS和 Windows 等,主要應用於嵌入式開發.

SQLite有什麼特點?

SQLite的優點

  • 原始碼不受版權限制,真正的自由,開源和免費.
  • 無伺服器,不需要一個單獨的伺服器程式或者操作的系統
  • 一個SQLite 資料庫是儲存在一個單一的跨平臺的磁碟檔案
  • 零配置,因為其本身就是一個檔案,不需要安裝或管理,輕鬆攜帶
  • 不需要任何外部的依賴,所有的操作等功能全部都在自身整合.
  • 輕量級,SQLite本身是C寫的,體積很小,經常被整合到各種應用程式中.

SQLite的缺點

  • 缺乏使用者管理和安全功能
  • 只能本地嵌入,無法被遠端的客戶端訪問,需要上層應用來處理這些事情;
  • 不適合大資料
  • 適合單執行緒訪問,對多執行緒高併發的場景不適用;
  • 各種資料庫高階特性它都不支援,比如管理工具、分析工具、維護等等;

SQLite的應用場景

小型網站

SQLite適用於中小規模流量的網站.

日訪問在10萬以下的網站可以很好的支援,適用於讀多寫少的操作,如管理員在後臺新增資料,其他訪客多為瀏覽.

10萬/天是一個臨界值,事實上在100萬的資料量之下,SQLite的表現還是可以的,在往上就不適合了.

使用它無需單獨購買資料庫服務,無需伺服器程式,配置成本幾乎為零,加上資料的匯入匯出都是複製檔案,維護難度也幾乎為零,遷移到別的伺服器無需任何配置即可支援,加上其讀取的速度非常快,省去了遠端資料庫的連結,能夠極大提升網站訪問速度.

嵌入式裝置

SQLite適用於手機,PDA,機頂盒,以及其他嵌入式裝置. 作為一個嵌入式資料庫它也能夠很好的應用於客戶端程式.

因為其輕量,小巧,不怎麼佔用記憶體,資料的讀寫效能好,加上嵌入式裝置資料量並不大,不需要頻繁的維護,所以比較適合.

資料庫教學

SQLite 支援 SQL92(SQL2)標準的大多數查詢語言的功能。

其無配置,無依賴,單一檔案的特性讓它的安裝和使用非常簡單,非常適合用來講解SQL語句.

學生可以在很短的時候使用並操作SQLite,不受系統和商業限制等影響,學習的結果可以通過郵件或者雲檔案等形式傳送給老師進行評分.

可以通過它快速實現一個最小化應用,適合學生快速瞭解SQLite,以及SQL語法,從而實現資料庫的觸類旁通,瞭解其他資料庫系統的設計實現原則.

本地應用程式

其單一磁碟檔案的特性,並且不支援遠端連線,使其適用於本地的應用程式,如PC客戶端軟體.

常用的應用型別為金融分析工具、CAD 包、檔案管理程式等等. (手機上的通訊錄也是用此開發的)

沒有遠端,意味著適用於內部或者臨時的資料庫,用來處理一些資料,讓程式更加靈活.

不適用場景

很明顯其適合小型網站,相對的就不適合高流量網站.,也不適合超大的資料集,在其缺點也提到,不適合高併發訪問.

具體的使用場景並沒有絕對的限制,要看情況,分清楚需求和業務場景,市場上也有其他同類或者其他型別的資料庫,參考使用成本,效能等各種因素來決定到選擇哪種資料庫才是最佳選擇.