SQLite学习(二) - SQLite逻辑结构
2013-07-03 21:35
113 查看
SQLite主要由3个部分组成
1、接口(Interface)
接口由SQLite C API组成,也就是说不管是程序、脚本语言还是库文件,最终都是通过它与SQLite交互的(我们通常用得较多的ODBC/JDBC最后也会转化为相应C API的调用)。
2、编译器(Compiler)
在编译器中,分词器(Tokenizer)和分析器(Parser)对SQL进行语法检查,然后把它转化为底层能更方便处理的分层的数据结构---语法 树,然后把语法树传给代码生成器(code generator)进行处理。而代码生成器根据它生成一种针对SQLite的汇编代码,最后由虚拟机(Virtual Machine)执行。
3、虚拟机(Virtual Machine)
架构中最核心的部分是虚拟机,或者叫做虚拟数据库引擎(Virtual Database Engine,VDBE)。它和Java虚拟机相似,解释执行字节代码。VDBE的字节代码由128个操作码(opcodes)构成,它们主要集中在数据 库操作。它的每一条指令都用来完成特定的数据库操作(比如打开一个表的游标)或者为这些操作栈空间的准备(比如压入参数)。总之,所有的这些指令都是为了 满足SQL命令的要求(关于VM,后面会做详细介绍)。
4、后端(Back-End)
后端由B-树(B-tree),页缓存(page cache,pager)和操作系统接口(即系统调用)构成。B-tree和page cache共同对数据进行管理。B-tree的主要功能就是索引,它维护着各个页面之间的复杂的关系,便于快速找到所需数据。而pager的主要作用就是 通过OS接口在B-tree和Disk之间传递页面。
参看
http://www.cnblogs.com/hustcat/archive/2009/02/12/1389448.html
The Definitive Guide to SQLite
1、接口(Interface)
接口由SQLite C API组成,也就是说不管是程序、脚本语言还是库文件,最终都是通过它与SQLite交互的(我们通常用得较多的ODBC/JDBC最后也会转化为相应C API的调用)。
2、编译器(Compiler)
在编译器中,分词器(Tokenizer)和分析器(Parser)对SQL进行语法检查,然后把它转化为底层能更方便处理的分层的数据结构---语法 树,然后把语法树传给代码生成器(code generator)进行处理。而代码生成器根据它生成一种针对SQLite的汇编代码,最后由虚拟机(Virtual Machine)执行。
3、虚拟机(Virtual Machine)
架构中最核心的部分是虚拟机,或者叫做虚拟数据库引擎(Virtual Database Engine,VDBE)。它和Java虚拟机相似,解释执行字节代码。VDBE的字节代码由128个操作码(opcodes)构成,它们主要集中在数据 库操作。它的每一条指令都用来完成特定的数据库操作(比如打开一个表的游标)或者为这些操作栈空间的准备(比如压入参数)。总之,所有的这些指令都是为了 满足SQL命令的要求(关于VM,后面会做详细介绍)。
4、后端(Back-End)
后端由B-树(B-tree),页缓存(page cache,pager)和操作系统接口(即系统调用)构成。B-tree和page cache共同对数据进行管理。B-tree的主要功能就是索引,它维护着各个页面之间的复杂的关系,便于快速找到所需数据。而pager的主要作用就是 通过OS接口在B-tree和Disk之间传递页面。
参看
http://www.cnblogs.com/hustcat/archive/2009/02/12/1389448.html
The Definitive Guide to SQLite
相关文章推荐
- Java学习----day2——(2)逻辑结构
- SQLite学习(三) - SQLite源代码文件结构
- ORACLE数据库学习之逻辑结构
- ORACLE数据库学习之逻辑结构
- (12) 逻辑结构-每天五分钟学习数据结构
- ORACLE数据库学习之逻辑结构
- android 基础学习(6)-----sqlite3查看表结构
- C语言学习笔记 逻辑结构关键字
- SQLite学习(四) - SQLite源代码文件结构2
- oracle学习第一弹----逻辑存储结构
- django学习教程(二)理解django框架的逻辑结构,创建第一个app
- 软件安全学习笔记(4):磁盘的物理逻辑结构
- PostgreSQL学习第十篇 数据库逻辑结构介绍--数据库
- oracle学习之逻辑结构1
- ORACLE学习笔记之物理结构和逻辑结构
- oracle学习之逻辑结构2
- mongodb初级学习之逻辑结构和物理结构
- Hbase学习笔记:Hbase存储逻辑结构
- xilinx FPAG 学习分享 (1)----CARRY4原理分析(超前快速进位逻辑结构)
- 三、Oracle初级学习之体系结构(物理、逻辑结构)