当前位置:首页 > 嵌入式数据库典型技术―SQLite和Berkeley DB的研究
目 录
内容摘要 ....................................................................................................... 1 关键词 ........................................................................................................... 1 Abstract ....................................................................................................... 1 Keywords ....................................................................................................... 1 1 引言 ........................................................................................................ 2 2 嵌入式数据库 ........................................................................................ 2 2.1 EDB应具备的特点 .......................................................................... 2 2.2 EDB的选择 ...................................................................................... 3 3 SQLite 数据库 ...................................................................................... 3 3.1 SQLite数据库概述 ........................................................................ 3 3.2 SQLite体系结构 ............................................................................ 4 3.3 嵌入式数据库SQLite的主要特性 ............................................... 5 4 Berkeley DB .......................................................................................... 6 4.1 Berkeley DB概述 .......................................................................... 6 4.2 Berkeley DB体系结构 .................................................................. 6 4.3 嵌入式数据库Berkeley DB的主要特性 ..................................... 7 5 嵌入式数据库SQLite和Berkeley DB的异同 .................................. 8 5.1 数据库类型 ..................................................................................... 8 5.2 存储方式及模式 ............................................................................. 8 5.3 数据类型 ......................................................................................... 9 5.4 Berkeley DB和SQLite适用的系统 ............................................ 9 5.5 小结 ................................................................................................. 9 6 嵌入式数据库SQLite与Berkeley DB的优势和不足 .................... 10 6.1 嵌入式数据库SQLite与Berkeley DB的优势 ......................... 10 6.2 嵌入式数据库SQLite与Berkeley DB的不足 ......................... 11 7 结束语 .................................................................................................. 12 参考文献 ..................................................................................................... 13
嵌入式数据库典型技术―SQLite和Berkeley DB的研究
内容摘要: 嵌入式数据库需要具备占用系统资源少、功能齐备、健壮、安全可移植等特性,选择如今运用比较广泛的典型嵌入式数据库SQLite和Berkeley DB进行分析。从体系结构、子系统调用关系、任务执行等角度对这两种数据库进行详细描述和分析,重点从数据库类型、存储方式/模式、数据库类型等方面详细地分析这两种数据库的异同。并总结出SQLite与Berkeley DB的优势和不足。
关键词:嵌入式数据库 SQLite Berkeley DB
Research on Typical Technologies of embedded databases
SQLite and Berkeley DB
Abstract: As an Embedded Database, such features as occupy- ing less system resource, full-featured, well robustness, highly security, portability are needed.It takes the nowaday widely used database SQLite and Berkeley DB for example.Three parts of the two embedded databases including architecture , relationship of their subsystem-called and the execution of task are studied. Put the focus to the comparison of them ,from the type of their databases,their storage methods and models, databases and so on.Analyze SQLite and Berkeley DB from all the above aspect,then summarize their advantage and disadvantage.
Keywords:Embedded database SQLite Berkeley DB
第1页
1 引言
随着人们对数据管理任务需求的不断增加,产生了数据库技术。通常,数据库主要用于存储和检索数据。如今,基于C/S或B/S结构的关系型数据库虽然代表着数据库应用的主流,却并不能满足所有应用场合的需要,如很多的应用,仅仅用到了这些数据库产品的基本特性。有时我们可能只需要一个简单的基于磁盘文件的数据库系统,这样就不必安装庞大的服务器,以简化数据库应用程序的设计。在某种场合,如嵌入式系统中,由于系统的软、硬件资源都有限,这些数据库产品就明显有些臃肿,甚至是不可实现的。
2 嵌入式数据库
嵌入式数据库(Embedded Database,EDB),通常是与嵌入式操作系统及具体的应用集成在一起,对程序员是透明的,无须独立运行数据库引擎,由程序直接调用相应的应用程序接口(Aplication program Interface,API)实现对数据的存取操作。
2.1 EDB应具备的特点
EDB与传统的数据库有着许多相同之处,但由于EDB的开发环境等多方面的限制,要求EDB必需具备以下特点: 1. 占用系统资源少
存储空间的限制是制约嵌入式系统的主要因素,于是微型化就成为EDB的首要条件。即要求EDB占用尽量少的ROM、RAM内存空间,及CPU时间。
2. 功能齐备,易于管理
在EDB的开发中,用户需求决定了需要一个大小适中、功能齐备的数据库来实现数据管理,要求此数据库能够自动完成启动初始化、日志管理、数据压缩、数据备份、数据恢复等功能。 3. 健壮性、安全性良好
嵌入式设备经常有不可预料的硬复位,这就需要数据库有高度的健壮性。同时,由于嵌入式数据库管理系统是运行在嵌入式设备上,
第2页
它的运行基本上不需要人的参与,对系统的可靠性和安全性提出了比较高的要求,并且系统要能够实现零管理。 4. 移植性
嵌入式系统的平台种类繁多,要使EDB能在不同软、硬件平台上运行,就必须具有良好的移植性。 5. 代码开源
如今,嵌入式系统的总成本在不断降低,要求花费在DB上的成本也应尽量低。开放的源代码不仅可以降低开发成本,还有利于产品的维护完善和稳定运行。
2.2 EDB的选择
目前,应用广泛的数据库中,Oracle、Sybase、Infomix、IBM DB2等功能强大的,系统体积庞大,要求付费使用的适用于大型商业数据库。MySQL等中等体积的数据库较为适用的功能已成为中小型规模数据库的首选,其体积一般为200MB左右,但对于嵌入式应用来说它们空间占用仍然太大,目前还不适用。
在开源数据库中,PostgreSQL是Linux下最完美的开源SQL数据库,但体积一般都需要十几MB,相对于嵌入式系统而言,依然较大。
SQLite简单易用、速度快、提供了丰富的数据库接口、开源、最小化管理。对于需要一个数据库用于存储数据,但又不想花太多时间来调整数据性能的开发人员很适用。Berkeley DB也开源,为应用提供可伸缩的、高性能的、有事务保护功能的数据管理,只需简单的API就可以完成数据的访问和管理,功能强大,是目前较为流行的嵌入式数据库系统。
SQLite和Berkeley DB不失为当前嵌入式系统的较优选择。
3 SQLite 数据库
3.1 SQLite数据库概述
SQLite是D.Richard Hipp在2000年用C语言编写的开源嵌入式数据库引擎。虽然功能较Berkeley DB稍显逊色,但它简单易学、速
第3页
共分享92篇相关文档