简述sqlite数据库的特点_SQLite
SQLite采用了模塊的設(shè)計,它由三個子系統(tǒng),包括8個獨立的模塊構(gòu)成。
1、接口(Interface)
接口由SQLite C API組成,也就是說不管是程序、腳本語言還是庫文件,最終都是通過它與SQLite交互的(我們通常用得較多的ODBC/JDBC最后也會轉(zhuǎn)化為相應(yīng)C API的調(diào)用)。
2、編譯器(Compiler)
在編譯器中,分詞器(Tokenizer)和分析器(Parser)對SQL進(jìn)行語法檢查,然后把它轉(zhuǎn)化為底層能更方便處理的分層的數(shù)據(jù)結(jié)構(gòu)---語法樹,然后把語法樹傳給代碼生成器(code generator)進(jìn)行處理。而代碼生成器根據(jù)它生成一種針對SQLite的匯編代碼,最后由虛擬機(jī)(Virtual Machine)執(zhí)行。
3、虛擬機(jī)(Virtual Machine)
架構(gòu)中最核心的部分是虛擬機(jī),或者叫做虛擬數(shù)據(jù)庫引擎(Virtual Database Engine,VDBE)。它和Java虛擬機(jī)相似,解釋執(zhí)行字節(jié)代碼。VDBE的字節(jié)代碼由128個操作碼(opcodes)構(gòu)成,它們主要集中在數(shù)據(jù)庫操作。它的每一條指令都用來完成特定的數(shù)據(jù)庫操作(比如打開一個表的游標(biāo))或者為這些操作棧空間的準(zhǔn)備(比如壓入?yún)?shù))。總之,所有的這些指令都是為了滿足SQL命令的要求(關(guān)于VM,后面會做詳細(xì)介紹)。
4、后端(Back-End)
后端由B-樹(B-tree),頁緩存(page cache,pager)和操作系統(tǒng)接口(即系統(tǒng)調(diào)用)構(gòu)成。B-tree和page cache共同對數(shù)據(jù)進(jìn)行管理。B-tree的主要功能就是索引,它維護(hù)著各個頁面之間的復(fù)雜的關(guān)系,便于快速找到所需數(shù)據(jù)。而pager的主要作用就是通過OS接口在B-tree和Disk之間傳遞頁面。
總結(jié)
以上是生活随笔為你收集整理的简述sqlite数据库的特点_SQLite的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 空行替换_Word怎么批量删除空行和空格
- 下一篇: phpcms发布新闻到数据库_Phpcm