网站大量收购独家精品文档,联系QQ:2885784924

SQLite系统构架及虚拟机分析.pdf

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SQLite系统构架及虚拟机分析.pdf

2012.01 西部大开发 ·中旬 信息技术 w Es T c H H ^ DEvE LO PM EN T SQLite系统构架及虚拟机分析 金喜竹 (威东航运有限公司。山东 威海 264200) 摘 要:本文就 目前广泛使用的轻量级数据库SQLite的构架进行分析,特别是对其中的虚拟数据库引擎(VDBE)I~了原理性的剖析,并 结合实例 ,展示 了SQLite的应用,及SQLite内部VDBE指令程序的运行方式。 关键词 :嵌入式;SQLite;数据库 ;构架;VDBE;虚拟机 中图分类号:TP316 文献标识码:A 文章编号:1009—8631(2012)01—0143—03 1引言 在tokenize.C当中。 SQLite是遵守ACID的轻量级关系型数据库管理系统,完全免 语法分析器 (Parser)由LmonLALR(1)生成,这是个和YACC/ 费.开源.无需任何配置也无需任何安装程序[1】。它广泛应用在各种嵌 BISON类似的分析器 ,不兼容,但是生成的代码是可重入且线程安 入式系统中,在 iOS和Android等系统中都是集成在各 自的库中的。 全的。代码包含在parse.C中。 虚拟机是现在 比较流行的一种软件构架,特别是在解释性编程 代码生成器 codegenerator)~成虚拟机执行的中间代码,包含的 语言领域。在安全领域,虚拟机也被用于实现软件的加密,是公认的 文件相对较多,比如 select.cupd~e.C等,大多和sQL命令同名对应。 一 种非常高效且使用的技术手段。SQLite用较小规模的代码用C语 2.3虚拟机 (VirtualMachine) 言实现了一个程序虚拟机,提高了代码的独立性降低了耦合性,同 代码生成器生成的中间代码会通过VM执行。这部分后面会有 时保持了很高的效率。 更详细的分解。 2SQLite数据库构架 2.4B-Tree(B一树) 下图是SQLite系统的总体构架图2[1。整体上SQLite可以分为前 数据库在磁盘上的操作都是通过B一树的,对应于数据库中的每 端和后端:前端负责从用户数据到平台不相关的指令的转换.后端 一 个表或者索引有会有相应的B一树。实现和接口分别在 btree.C和 处理的数据流,深入到具体数据库数据在磁盘上的操作,这些数据 btree.C中H。 是和平台相关的。SQLite所做到的平台无关性,是通过其 内部实现 2.5页缓存 (PageCache) 的虚拟数据库引擎(VDME,VisualDatabaseEngine)来完成的。总的 数据的读写都是以Chunk位单位进行的,这样可以提高效率。 来说,就是将SQL语句先翻译成一种专门设计的语言,然后下层再 页缓存负责这部分工作,同时提供了回滚(rollback)等共能,并对数 调用平台相关的系统 API接口,完成相应的功能。 据库文件进行管理。实现和接 口在 pager.c和pager.h中。 SQLite的源代码由96个 c语言(.c和-h)文件组成.在编译之前会 2.6系统接 15/(OSInterface) 由Makefile生成—个完整的文件,即可以在官方网站上下载的sqlite3. SQLite提供了一个系统抽象层,定义在 OS.h中。每个支持的平台 C和sqlite3.h等文件

文档评论(0)

资料 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档