基于ARMLinux的SQLite嵌入式数据库技术.doc

基于ARMLinux的SQLite嵌入式数据库技术.doc

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于ARM-Linux的SQLite嵌入式数据库技术 关键词:嵌入式数据库;SQLite;ARM-Linux 引言 随着嵌入式系统的广泛应用和用户对数据的处理及管理需求的不断提高,各种智能设备和数据库技术的紧密结合已经得到了各方面的重视。目前,基于嵌入式数据库应用的市场需求已经进入加速发展的阶段。 图1 SQLite体系结构 Linux 下常见的数据库技术分析 基于Linux平台的数据库非常多,大型的商用数据库有Oracle、Sybase、Informix、IBM DB2等等,中小型的更是不胜枚举,常见的主要有PostgreSQL、MySQL、mSQL、Berkeley DB、SQLite等等。 大型商业数据库功能强大、系统体积庞大,并要求付费使用。MySQL在保持中等体积的情况下提供了较为适用的功能,已经成为中小规模数据库应用的首选,但商业应用也要收费,而且对于嵌入式开发来说空间占用仍然太大。mSQL是一种简化的SQL数据库,短小精悍,开发方便,适用于嵌入式开发,但它只有30天的使用期限,并非完全的开源。余下的开放源码数据库中,PostgreSQL是Linux下最完善的开源SQL数据库,但体积也较大;Berkeley DB速度极快,可靠性高,但学习起来有一定难度,必然会加大开发成本。 SQLite 支持绝大多数标准的SQL92语句,采用单文件存放数据库,速度又比 MySQL 快上 1~2 倍,存储量也不是问题,在操作语句上更类似关系型数据库的使用,其版权允许无任何限制的应用,包括商业性的产品。由于具有这些优良特性,SSQLite已集成至PHP5中。 嵌入式开发对数据库的需求特点 嵌入式系统开发环境决定了其对数据库的需求有如下特点: 嵌入式系统对于数据的存储与程序的运行一般都有较强的空间限制,所以,适用于嵌入式使用的数据库首先应该有一个适当的体积; 嵌入式开发中有很多应用,用户需求的多样化决定了开发中需要有一个功能齐备的数据库来实现对数据的管理,对开发人员来说,同时还要求采用的数据库技术能够提供完备开发的文档而且易于开发; 作为产品的开发,开源的代码不仅可以减少产品的生产成本,更重要的是为产品的维护完善和稳定运行都提供了最为彻底的解决手段。 SQLite 的设计思想是小型、快速和最小化的管理,简单易用,同时提供了丰富的数据库接口,功能虽较Berkeley DB略有逊色,但在开源组织的推动下差距正在缩小。实际上,很多情况并不需要存储过程或复杂的表之间的关联,这时会发现SQLite在大小和功能之间找到了一个理想的平衡点。另外它还允许自由地用于任何目的甚至包括商业应用,完全的开源代码使其可以称得上是理想的嵌入式数据库。 SQLite的体系结构及开发技术 SQLite 是一个用小型C库实现的嵌入式关系数据库管理体制,有着很强的内聚性。它提供了对SQL92的大多数支持,支持多表和索引、事务、视图、触发以及一系列的用户接口及驱动。此外它还可以运行于从ARM/ Linux到SPARC / Solaris的多种硬件平台。 体系结构 SQLite有一种优雅、标准化的设计。它可以分成8 个主要子系统,如图1所示,其中有一些相当接近于关系数据库管理。 在图的顶层是标记处理器(tokenizer)和分析器(parser)。SQLite 有自己高度优化的分析器生成器,可以快速产生高效率的代码,并对内存泄漏有着特别的抵抗力。 在底部是基于Knuth经过优化的B树,这样就可以运行在可调整的页面缓冲上,有助于将对磁盘的查找减到最小。 再往下是页面高速缓存,它作用在操作系统的抽象层之上,这样的安排有助于数据库的移动。 体系结构的核心是虚拟数据库引擎(VDBE)。VDBE完成与数据操作相关的全部操作,并且是客户和存储之间进行信息交换的中间单元。在SQL语句被分析之后,VDBE 开始起作用。代码生成器将分析树翻译成一个袖珍程序,随后这些袖珍程序又被组合成用VDBE的虚拟机器语言表示的一系列指令。如此往复,VDBE 执行每条指令,最终完成SQL语句指定的查询要求。 SQLite开发技术 SQLite 的API极其易于使用,只需要三个用来执行SQL和获得数据的函数。它还是可以扩展的,允许程序员自定义函数然后以callback的形式集合进去。C语言API是其它接口的基础,开放源码团体基于此已经扩展了众多的客户接口,使得其他语言对SQLite的使用也成为可能。 SQLite在ARM-Linux平台上的实现 SQLite编译技术 SQLite嵌入式数据库提供了以源码发布的方式,根据不同的硬件平台,对源码进行交叉编译即可实现移植,本项目采用的是深圳优龙公司的ARM9核的FS9200开发板,编译过程主要有以下几个步骤: 1) 到/下载必威体育精装版的源代码包,本项目采用的是s

文档评论(0)

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

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

1亿VIP精品文档

相关文档