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

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

ID:36622010

大小:137.50 KB

页数:19页

时间:2019-05-13

基于ARMLinux的SQLite嵌入式数据库技术_第1页
基于ARMLinux的SQLite嵌入式数据库技术_第2页
基于ARMLinux的SQLite嵌入式数据库技术_第3页
基于ARMLinux的SQLite嵌入式数据库技术_第4页
基于ARMLinux的SQLite嵌入式数据库技术_第5页
资源描述:

《基于ARMLinux的SQLite嵌入式数据库技术》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、基于ARM-Linux的SQLite嵌入式数据库技术摘  要:本文先就Linux下的常见数据库技术做了分析,然后指出了嵌入式系统开发中对数据库的需求特点,基于此对SQLite嵌入式数据库的体系结构和开发技术做了论述,最后结合ARM-Linux开发平台讲述了具体的实现方法。关键词:嵌入式数据库;SQLite;ARM-Linux引言随着嵌入式系统的广泛应用和用户对数据的处理及管理需求的不断提高,各种智能设备和数据库技术的紧密结合已经得到了各方面的重视。目前,基于嵌入式数据库应用的市场需求已经进入加速发展的阶段。图1SQLite体系结构Linu

2、x下常见的数据库技术分析基于Linux平台的数据库非常多,大型的商用数据库有Oracle、Sybase、Informix、IBMDB2等等,中小型的更是不胜枚举,常见的主要有PostgreSQL、MySQL、mSQL、BerkeleyDB、SQLite等等。大型商业数据库功能强大、系统体积庞大,并要求付费使用。MySQL在保持中等体积的情况下提供了较为适用的功能,已经成为中小规模数据库应用的首选,但商业应用也要收费,而且对于嵌入式开发来说空间占用仍然太大。mSQL是一种简化的SQL数据库,短小精悍,开发方便,适用于嵌入式开发,但它只有30

3、天的使用期限,并非完全的开源。余下的开放源码数据库中,PostgreSQL是Linux下最完善的开源SQL数据库,但体积也较大;BerkeleyDB速度极快,可靠性高,但学习起来有一定难度,必然会加大开发成本。SQLite支持绝大多数标准的SQL92语句,采用单文件存放数据库,速度又比MySQL快上1~2倍,存储量也不是问题,在操作语句上更类似关系型数据库的使用,其版权允许无任何限制的应用,包括商业性的产品。由于具有这些优良特性,SSQLite已集成至PHP5中。嵌入式开发对数据库的需求特点嵌入式系统开发环境决定了其对数据库的需求有如下特

4、点:嵌入式系统对于数据的存储与程序的运行一般都有较强的空间限制,所以,适用于嵌入式使用的数据库首先应该有一个适当的体积;嵌入式开发中有很多应用,用户需求的多样化决定了开发中需要有一个功能齐备的数据库来实现对数据的管理,对开发人员来说,同时还要求采用的数据库技术能够提供完备开发的文档而且易于开发;作为产品的开发,开源的代码不仅可以减少产品的生产成本,更重要的是为产品的维护完善和稳定运行都提供了最为彻底的解决手段。SQLite的设计思想是小型、快速和最小化的管理,简单易用,同时提供了丰富的数据库接口,功能虽较BerkeleyDB略有逊色,但在

5、开源组织的推动下差距正在缩小。实际上,很多情况并不需要存储过程或复杂的表之间的关联,这时会发现SQLite在大小和功能之间找到了一个理想的平衡点。另外它还允许自由地用于任何目的甚至包括商业应用,完全的开源代码使其可以称得上是理想的嵌入式数据库。SQLite的体系结构及开发技术SQLite是一个用小型C库实现的嵌入式关系数据库管理体制,有着很强的内聚性。它提供了对SQL92的大多数支持,支持多表和索引、事务、视图、触发以及一系列的用户接口及驱动。此外它还可以运行于从ARM/Linux到SPARC/Solaris的多种硬件平台。体系结构SQL

6、ite有一种优雅、标准化的设计。它可以分成8个主要子系统,如图1所示,其中有一些相当接近于关系数据库管理。在图的顶层是标记处理器(tokenizer)和分析器(parser)。SQLite有自己高度优化的分析器生成器,可以快速产生高效率的代码,并对内存泄漏有着特别的抵抗力。在底部是基于Knuth经过优化的B树,这样就可以运行在可调整的页面缓冲上,有助于将对磁盘的查找减到最小。再往下是页面高速缓存,它作用在操作系统的抽象层之上,这样的安排有助于数据库的移动。体系结构的核心是虚拟数据库引擎(VDBE)。VDBE完成与数据操作相关的全部操作,并

7、且是客户和存储之间进行信息交换的中间单元。在SQL语句被分析之后,VDBE开始起作用。代码生成器将分析树翻译成一个袖珍程序,随后这些袖珍程序又被组合成用VDBE的虚拟机器语言表示的一系列指令。如此往复,VDBE执行每条指令,最终完成SQL语句指定的查询要求。SQLite开发技术SQLite的API极其易于使用,只需要三个用来执行SQL和获得数据的函数。它还是可以扩展的,允许程序员自定义函数然后以callback的形式集合进去。C语言API是其它接口的基础,开放源码团体基于此已经扩展了众多的客户接口,使得其他语言对SQLite的使用也成为可

8、能。SQLite在ARM-Linux平台上的实现SQLite编译技术SQLite嵌入式数据库提供了以源码发布的方式,根据不同的硬件平台,对源码进行交叉编译即可实现移植,本项目采用的是深圳优龙公

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。