Android 的 SQLLite數據庫

Android 的 SQLLite數據庫

關係型數據庫 SQLLite

每個應用程序都要使用數據,Android應用程序也不例外,Android使用開源的、與操作系統無關的SQL數據庫—SQLite。SQLite第一個Alpha版本誕生於2000年5月,它是一款輕量級數據庫,它的設計目標是嵌入式的,佔用資源非常的低,只需要幾百K的內存就夠了。SQLite已經被多種軟件和產品使用,Mozilla FireFox就是使用SQLite來存儲配置數據的,Android和iPhone都是使用SQLite來存儲數據的。

SQLite體系結構圖如下:

image

編譯器包括Tokenizer(詞法分析器)、 Parser(語法分析器)、Code Generator(代碼產生器)。他們協同處理文本形式的結構化查詢語句。

後端由B-tree,Pager,OS Interface組成。B-tree的職責是負責排序,維護多個數據庫頁之間錯綜複雜的關係,將頁面組織成樹狀結構,頁面就是樹的葉子。Pager負責傳輸,根據B-tree的請求從磁盤讀取頁面或者寫入頁面。

公共服務中有各種實用的功能比如:內存分配、字符串比較,Unicode轉換等。

SQLite數據庫是D.Richard Hipp用C語言編寫的開源嵌入式數據庫,支持的數據庫大小爲2TB。它具有如下特徵:

  • 輕量級

SQLite和C\S模式的數據庫軟件不同,它是進程內的數據庫引擎,因此不存在數據庫的客戶端和服務器。使用SQLite一般只需要帶上它的一個動態庫,就可以享受它的全部功能。而且那個動態庫的尺寸也相當小。

  • 獨立性

SQLite數據庫的核心引擎本身不依賴第三方軟件,使用它也不需要“安裝”,所以在使用的時候能夠省去不少麻煩。

  • 隔離性

SQLite數據庫中的所有信息(比如表、視圖、觸發器)都包含在一個文件內,方便管理和維護。

  • 跨平臺

SQLite數據庫支持大部分操作系統,除了我們在電腦上使用的操作系統之外,很多手機操作系統同樣可以運行,比如Android、Windows Mobile、Symbian、Palm等。

  • 多語言接口

SQLite數據庫支持很多語言編程接口,比如C\C++、Java、Python、dotNet、Ruby、Perl等,得到更多開發者的喜愛。

  • 安全性

SQLite數據庫通過數據庫級上的獨佔性和共享鎖來實現獨立事務處理。這意味着多個進程可以在同一時間從同一數據庫讀取數據,但只有一個可以寫入數據。在某個進程或線程向數據庫執行寫操作之前,必須獲得獨佔鎖定。在發出獨佔鎖定後,其他的讀或寫操作將不會再發生。

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