摘 要 深入分析、比较Berkeley DB和SQLite。Berkel ey DB和sQLite是源码开放的嵌入式数据库管理系统,无需安装,体积小巧,速度又很快;可以很方便地应用在掌上电脑、PDA、车载设备、移动电话等MySQL、SQL Server这些大中型数据库不可实现的嵌入式设备上。
关键词Berkeley DB SOL,ite 嵌入式数据库
1 嵌入式数据库
通常,我们采用数据库来实现对数据的存储、检索等功能。像MySQL这类基于C/S结构的关系型数据库系统,虽然代表着目前数据库应用的主流,却并不能满足所有应用场合的需要。很多的应用,仅仅利用到了这些数据库产品的基本特性而已。有时我们需要的可能只是一个简单
嵌入式数据库通常与操作系统和具体应用集成在一起,无须独立运行的数据库引擎,由程序直接调用相应的API去实现对数据的存取操作。更直白地讲,嵌入式数据库是一种具备了基本数据库特性的数据文件。嵌入式数据库与其它数据库产品的区别是,前者是程序驱动式,而后者是引擎响应式。嵌入式数据库的一个很重要的特点是它们的体积非常小,编译后的产品也不过几十KB,在一些移动设备上极具竞争力。
从目前嵌入式应用的发展趋势来看,嵌入式数据库的实现必须充分体现系统的可定制性,即系统选择的技术路线要面向具体的行业应用,因而研究源码开放的嵌入式数据库具有特殊意义。
2 Berkeley DB和SQLite
DBkeley DB是一款健壮的、高速的工业级开放源代码的嵌入式数据库管理系统。应用它,程序员只需要调用一些简单的API就可以完成对数据的访问和管理。
Berkeley DB的源代码有C和Java两种CONTROL ENGINEERING China版权所有,函数库本身只有300KB左右CONTROL ENGINEERING China版权所有,但却能够用来管理多达256TB的数据。Berkeley DB作为一种嵌入式数据库系统在许多方面有着独特的优势。首先,由于其应用程序和数据库管理系统运行在相同的进程空间当中,进行数据操作时可以避免繁琐的进程间通信,因此耗费在通信上的开销自然也就降低到了极低程度。其次,Berkeley DB使用简单的函数调用接口来完成所有的数据库操作,而不是在数据库系统中经常用到的SQL语言,避免了对结构化查询语言进行解析和处理所需的开销。
SQLite的源代码是C,其源代码完全开放。SQLite第一个Alpha版本诞生于2000年5月。今年5月www.cechina.cn,SQLite又迎来了一个新的里程一SOLite 3。
SQLite有以下特性:支持ACID事务;零配置一无需安装和管理配置;储存在单一磁盘文件中的一个完整的数据库;数据库文件可以在不同字节顺序的机器间自由共享;支持数据库大小至2TB;足够小,全部源码大致3万行c代码,250KB;比目前流行的大多数数据库对数据的操作要快;提供了对事务功能和并发处理的支持,应用Transaction既保证了数据的完整性,也会提高运行速度,因为多条语句一起提交给数据库的速度会比一条一条的提交方式更快;独立,没有额外依赖。
目前CONTROL ENGINEERING China版权所有,对Berkeley DB的研究开发工作主要是美国的sleepycat公司在进行,在国内几乎没有关于这方面的研究;而SQLite在国内也是鲜有人问津。
2.1 Berkeley DB和SOLite的数据库操作
与常用的数据库管理系统(如MySQL和Oracle等)有所不同www.cechina.cn,在Berkeley DB中并没有数