当前位置:文档之家› 常用的嵌入式数据库的比较

常用的嵌入式数据库的比较

常用的嵌入式数据库的比较
常用的嵌入式数据库的比较

常用的嵌入式数据库的比较

2.1 Berkeley DB

技术特点:

1. Berkeley DB是一个开放源代码的内嵌式数据库管理系统,能够为应用程序提供高性能的数据管理服务。应用它程序员只需要调用一些简单的API就可以完成对数据的访问和管理。(不使用SQL语言)

2. Berkeley DB为许多编程语言提供了实用的API接口,包括C、C++、Java、Perl、Tcl、Python和PHP等。所有同数据库相关的操作都由Berkeley DB函数库负责统一完成。

3. Berkeley DB轻便灵活(Portable),可以运行于几乎所有的UNIX和Linux系统及其变种系统、Windows操作系统以及多种嵌入式实时操作系统之下。Berkeley DB被链接到应用程序中,终端用户一般根本感觉不到有一个数据库系统存在。

4. Berkeley DB是可伸缩(Scalable)的,这一点表现在很多方面。Database library 本身是很精简的(少于300KB的文本空间),但它能够管理规模高达256TB的数据库。它支持高并发度,成千上万个用户可同时操纵同一个数据库。Berkeley DB能以足够小的空间占用量运行于有严格约束的嵌入式系统。

Berkeley DB在嵌入式应用中比关系数据库和面向对象数据库要好,有以下两点原因:(1)因为数据库程序库同应用程序在相同的地址空间中运行,所以数据库操作不需要进程间的通讯。在一台机器的不同进程间或在网络中不同机器间进行进程通讯所花费的开销,要远远大于函数调用的开销;

(2)因为Berkeley DB对所有操作都使用一组API接口,因此不需要对某种查询语言进行解析,也不用生成执行计划,大大提高了运行效。

2.2 SQLite

轻量级别数据库SQLite的主要特点:

1. 支持事件,不需要配置,不需要安装,也不需要管理员;

2. 支持大部分SQL92;

3. 一个完整的数据库保存在磁盘上面一个文件,同一个数据库文件可以在不同机器上面使用,最大支持数据库到2T,字符和BLOB的支持仅限制于可用内存;

4. 整个系统少于3万行代码,少于250KB的内存占用(gcc),大部分应用比目前常见的客户端/服务端的数据库快,没有其它依赖

5. 源代码开放,代码95%有较好的注释,简单易用的API。官方带有TCL的编译版本。

2.1 Berkeley DB

技术特点:

1. Berkeley DB是一个开放源代码的内嵌式数据库管理系统,能够为应用程序提供高性能的数据管理服务。应用它程序员只需要调用一些简单的API就可以完成对数据的访问和管理。(不使用SQL语言)

2. Berkeley DB为许多编程语言提供了实用的API接口,包括C、C++、Java、Perl、Tcl、Python和PHP等。所有同数据库相关的操作都由Berkeley DB函数库负责统一完成。

3. Berkeley DB轻便灵活(Portable),可以运行于几乎所有的UNIX和Linux系统及其变种系统、Windows操作系统以及多种嵌入式实时操作系统之下。Berkeley DB被链接到应用程序中,终端用户一般根本感觉不到有一个数据库系统存在。

4. Berkeley DB是可伸缩(Scalable)的,这一点表现在很多方面。Database library 本身是很精简的(少于300KB的文本空间),但它能够管理规模高达256TB的数据库。它支持高并发度,成千上万个用户可同时操纵同一个数据库。Berkeley DB能以足够小的空间占用量运行于有严格约束的嵌入式系统。

Berkeley DB在嵌入式应用中比关系数据库和面向对象数据库要好,有以下两点原因:(1)因为数据库程序库同应用程序在相同的地址空间中运行,所以数据库操作不需要进程间的通讯。在一台机器的不同进程间或在网络中不同机器间进行进程通讯所花费的开销,要远远大于函数调用的开销;

(2)因为Berkeley DB对所有操作都使用一组API接口,因此不需要对某种查询语言进行解析,也不用生成执行计划,大大提高了运行效。

2.2 SQLite

轻量级别数据库SQLite的主要特点:

1. 支持事件,不需要配置,不需要安装,也不需要管理员;

2. 支持大部分SQL92;

3. 一个完整的数据库保存在磁盘上面一个文件,同一个数据库文件可以在不同机器上面使用,最大支持数据库到2T,字符和BLOB的支持仅限制于可用内存;

4. 整个系统少于3万行代码,少于250KB的内存占用(gcc),大部分应用比目前常见的客户端/服务端的数据库快,没有其它依赖

5. 源代码开放,代码95%有较好的注释,简单易用的API。官方带有TCL的编译版本。

2.3 Empress(商业数据库)

开发阶段特点:

1. 可嵌入程序,该特性使应用程序和数据库工作于统一地址空间,增强了系统的稳定性,提高了系统的效率。

2. 确定的响应时间,Empress 可以使数据的响应时间相对一致,使用者可以设定一个超时限制,如果在规定时间内没有完成插入,修改等操作,系统会报错。

3. 快速的操作Empress 提供了内核级的CAPI,称为MR, 用MR编写的应用程序在执行时不需要解析。另外在MR中加速的机制还包括优秀的加锁控制,内存管理和基于记录数量的选择功能。

4. 灵活的开发方式,Empress 提供多种开发接口,加快开发进程而无需开发者重新学习开发语言和熟悉开发环境。

5. 友好的存储方式,Empress 数据库可以放在操作系统支持的任何存储设备中,Empress的表单甚至可以分割放在不同的存储设备中,比如在内存,硬盘和CD-ROM中。

6. 微型内核结构Empress 高度单元化, 可根据需要选择需要的单元,从而缩小产品中Empress 数据库所占用的资源。

7. 宽广的平台支持,Empress 支持多种硬件平台和软件平台, 也可移植到客户要求的硬件平台或操作系统。

技术优势:

1. 微型内核结构,占用少量内存空间,特别适合紧凑性的设计

2.一周7天,每天24小时连续工作,无需任何额外操作免维护

3. 内核级CAPI 接口,使运行速度最大化

4. 高度灵活的SQL接口

5. 优秀的掉电恢复能力

6. 强壮的交易和锁存机制

7. 支持SCSI,RAID,IDE,RAM,CD-RW,DVD-ROM,CF,等存储介质

8. 支持Unicode 码

9. 引擎可加载于磁盘和内存

2.4 eXtremeDB

eXtremeDB特点:

1. 内存数据库,eXtremeDB将数据以程序直接使用的格式保存在主内存之中,不仅剔除了文件I/O的开销,也剔除了文件系统数据库所需的缓冲和Cache机制。其结果是每个交易一微秒甚至更少的极限速度,相比于类磁盘数据库而言,速度成百上千倍地提高。作为内存数据库,eXtremeDB不仅性能高,而且数据存储的效率也非常高。为了提高性能并方便程序使用,数据在eXtremeDB中不做任何压缩,100M的空间可以保存高达70M以上的有效数据,这是其他数据库所不可想象的。

2. 混合数据库,eXtremeDB不仅可以建立完全运行在主内存的内存数据库,更可以建立磁盘/内存混合介质的数据库。在eXtremeDB,我们把这种建立在磁盘、内存或磁盘+内存的运行模式称为eXtremeDB Fusion融合数据库。eXtremeDB Fusion兼顾数据管理的实时性与安全性要求,是实时数据管理的台阶性进步。

3. 嵌入式数据库,eXtremeDB内核以链接库的形式包含在应用程序之中,其开销只有50KB~130KB。无论在嵌入式系统还是在实时系统之中,eXtremeDB都天然地嵌入在应用程序之中,在最终用户毫不知情的情况下工作。eXtremeDB的这种天然嵌入性对实时数据管理至关重要:各个进程都直接访问eXtremeDB数据库,避免了进程间通信,从而剔除了进程间通信的开销和不确定性。同时,eXtremeDB独特的数据格式方便程序直接使用的,剔除了数据复制及数据翻译的开销,缩短了应用程序的代码执行路径。

4. 由应用定制的API,应用程序对eXtremeDB数据库的操作接口是根据应用数据库设计而自动产生,不仅提升了性能,也剔除了通用接口所必不可少的动态内存分配,从而提高了应用系统的可靠性。定制过程简单方便,由高级语言定制eXtremeDB数据库中的表格、字段、数据类型、事件触发、访问方法等应用特征,通过eXtremeDB预编译器自动产生访问该数据库的C/C++ API接口。

5. 可预测的数据管理

eXtremeDB独特的体系结构,保证了数据管理的可预测性。eXtremeDB不仅更快、更小,而且更确定。在80双核CPU的服务器上,eXtremeDB在1TB内存里保存15B条记录;无论记录数多少,eXtremeDB可以在八十分之一微秒的时间内提取一条记录。2.5 Firebird嵌入服务器版(Embedded Server)从Interbase开源衍生出的Firebird,充满了勃勃生机。虽然它的体积比前辈Interbase缩小了几十倍,但功能并无阉割。为了体现Firebird短小精悍的特色,开发小组在增加了超级服务器版本之后,又增加了嵌入版本,最新版本为2.0。

Firebird的嵌入版有如下特色:

1、数据库文件与Firebird网络版本完全兼容,差别仅在于连接方式不同,可以实现零成本迁移。

2、数据库文件仅受操作系统的限制,且支持将一个数据库分割成不同文件,突破了操作系统最大文件的限制,提高了IO吞吐量。

3、完全支持SQL92标准,支持大部分SQL-99标准功能。

4、丰富的开发工具支持,绝大部分基于Interbase的组件,可以直接使用于Firebird。

5、支持事务、存储过程、触发器等关系数据库的所有特性。

6、可自己编写扩展函数(UDF)。

2.3 Empress(商业数据库)

开发阶段特点:

1. 可嵌入程序,该特性使应用程序和数据库工作于统一地址空间,增强了系统的稳定性,提高了系统的效率。

2. 确定的响应时间,Empress 可以使数据的响应时间相对一致,使用者可以设定一个超时限制,如果在规定时间内没有完成插入,修改等操作,系统会报错。

3. 快速的操作Empress 提供了内核级的CAPI,称为MR, 用MR编写的应用程序在执行时不需要解析。另外在MR中加速的机制还包括优秀的加锁控制,内存管理和基于记录数量的选择功能。

4. 灵活的开发方式,Empress 提供多种开发接口,加快开发进程而无需开发者重新学习开发语言和熟悉开发环境。

5. 友好的存储方式,Empress 数据库可以放在操作系统支持的任何存储设备中,Empress的表单甚至可以分割放在不同的存储设备中,比如在内存,硬盘和CD-ROM中。

6. 微型内核结构Empress 高度单元化, 可根据需要选择需要的单元,从而缩小产品中Empress 数据库所占用的资源。

7. 宽广的平台支持,Empress 支持多种硬件平台和软件平台, 也可移植到客户要求的硬件平台或操作系统。

技术优势:

1. 微型内核结构,占用少量内存空间,特别适合紧凑性的设计

2.一周7天,每天24小时连续工作,无需任何额外操作免维护

3. 内核级CAPI 接口,使运行速度最大化

4. 高度灵活的SQL接口

5. 优秀的掉电恢复能力

6. 强壮的交易和锁存机制

7. 支持SCSI,RAID,IDE,RAM,CD-RW,DVD-ROM,CF,等存储介质

8. 支持Unicode 码

9. 引擎可加载于磁盘和内存

2.4 eXtremeDB

eXtremeDB特点:

1. 内存数据库,eXtremeDB将数据以程序直接使用的格式保存在主内存之中,不仅剔除了文件I/O的开销,也剔除了文件系统数据库所需的缓冲和Cache机制。其结果是每个交易一微秒甚至更少的极限速度,相比于类磁盘数据库而言,速度成百上千倍地提高。作为内存数据库,eXtremeDB不仅性能高,而且数据存储的效率也非常高。为了提高性能并方便程序使用,数据

在eXtremeDB中不做任何压缩,100M的空间可以保存高达70M以上的有效数据,这是其他数据库所不可想象的。

2. 混合数据库,eXtremeDB不仅可以建立完全运行在主内存的内存数据库,更可以建立磁盘/内存混合介质的数据库。在eXtremeDB,我们把这种建立在磁盘、内存或磁盘+内存的运行模式称为eXtremeDB Fusion融合数据库。eXtremeDB Fusion兼顾数据管理的实时性与安全性要求,是实时数据管理的台阶性进步。

3. 嵌入式数据库,eXtremeDB内核以链接库的形式包含在应用程序之中,其开销只有50KB~130KB。无论在嵌入式系统还是在实时系统之中,eXtremeDB都天然地嵌入在应用程序之中,在最终用户毫不知情的情况下工作。eXtremeDB的这种天然嵌入性对实时数据管理至关重要:各个进程都直接访问eXtremeDB数据库,避免了进程间通信,从而剔除了进程间通信的开销和不确定性。同时,eXtremeDB独特的数据格式方便程序直接使用的,剔除了数据复制及数据翻译的开销,缩短了应用程序的代码执行路径。

4. 由应用定制的API,应用程序对eXtremeDB数据库的操作接口是根据应用数据库设计而自动产生,不仅提升了性能,也剔除了通用接口所必不可少的动态内存分配,从而提高了应用系统的可靠性。定制过程简单方便,由高级语言定制eXtremeDB数据库中的表格、字段、数据类型、事件触发、访问方法等应用特征,通过eXtremeDB预编译器自动产生访问该数据库的C/C++ API接口。

5. 可预测的数据管理

eXtremeDB独特的体系结构,保证了数据管理的可预测性。eXtremeDB不仅更快、更小,而且更确定。在80双核CPU的服务器上,eXtremeDB在1TB内存里保存15B条记录;无论记录数多少,eXtremeDB可以在八十分之一微秒的时间内提取一条记录。2.5 Firebird嵌入服务器版(Embedded Server)从Interbase开源衍生出的Firebird,充满了勃勃生机。虽然它的体积比前辈Interbase缩小了几十倍,但功能并无阉割。为了体现Firebird短小精悍的特色,开发小组在增加了超级服务器版本之后,又增加了嵌入版本,最新版本为2.0。

Firebird的嵌入版有如下特色:

1、数据库文件与Firebird网络版本完全兼容,差别仅在于连接方式不同,可以实现零成本迁移。

2、数据库文件仅受操作系统的限制,且支持将一个数据库分割成不同文件,突破了操作系统最大文件的限制,提高了IO吞吐量。

3、完全支持SQL92标准,支持大部分SQL-99标准功能。

4、丰富的开发工具支持,绝大部分基于Interbase的组件,可以直接使用于Firebird。

5、支持事务、存储过程、触发器等关系数据库的所有特性。

6、可自己编写扩展函数(UDF)。

2.6 mSQL介绍

mSQL(mini SQL)是一个单用户数据库管理系统,个人使用免费,商业使用收费。由于它的短小精悍,使其开发的应用系统特别受到互联网用户青睐。mSQL(mini SQL)是一种小型的关系数据库,性能不是太好,对SQL语言的支持也不够完全,但在一些网络数据库应用中是足够了。由于mSQL较简单,在运行简单的SQL语句时速度比MySQL略快,而MySQL

在线程和索引上下了功夫,运行复杂的SQL语句时比mSQL,PostgreSQL等都要快一些。最

新版本是2005年5月8日发布的3.7.MSQL的标志是一个鹿,见下图。图1mSQL LOGO 标志

mSQL的技术特点:安全性方面,mSQL通过ACL文件设定各主机上各用户的访问权限,缺省是全部可读/写。mSQL缺乏ANSI SQL 的大多数特征,它仅仅实现了一个最最少的API,没有事务和参考完整性。mSQL与Lite(一种类似C的脚本语言,与分发一起发行)紧密结合,可以得到一个称为W3-mSQL的一个网站集成包,它是JDBC、ODBC、Perl和PHP API

2.6 mSQL介绍

mSQL(mini SQL)是一个单用户数据库管理系统,个人使用免费,商业使用收费。由于它的短小精悍,使其开发的应用系统特别受到互联网用户青睐。mSQL(mini SQL)是一种小型的关系数据库,性能不是太好,对SQL语言的支持也不够完全,但在一些网络数据库应用中是足够了。由于mSQL较简单,在运行简单的SQL语句时速度比MySQL略快,而MySQL

在线程和索引上下了功夫,运行复杂的SQL语句时比mSQL,PostgreSQL等都要快一些。最新版本是2005年5月8日发布的3.7.MSQL的标志是一个鹿,见下图。图1mSQL LOGO 标志

mSQL的技术特点:安全性方面,mSQL通过ACL文件设定各主机上各用户的访问权限,缺省是全部可读/写。mSQL缺乏ANSI SQL 的大多数特征,它仅仅实现了一个最最少的API,没有事务和参考完整性。mSQL与Lite(一种类似C的脚本语言,与分发一起发行)紧密结合,可以得到一个称为W3-mSQL的一个网站集成包,它是JDBC、ODBC、Perl和PHP API

OpenBASE嵌入式数据库技术白皮书

OpenBASE Lite V2.1 技术白皮书 2011年10月

引言 随着计算机及相关技术的不断发展,嵌入式产品由于其智能化、小型化、便携式等特点,已普遍应用于我们的生活,比如智能手机、掌上电脑、个人数字助理(PDA)等。它们大多基于Symbian、Windows Mobile、Android、Embeded Linux 等嵌入式操作系统平台,具有体积小、专为移动使用而设计,相对较小的内存和计算能力,偶尔连接到计算机网络等特点。尽管仍有诸多限制,许多商业应用,如移动办公,销售自动化,移动保健及网上购物等,已经与移动设备进行了很好的整合。 随着嵌入式系统的发展,用户需要处理大量而复杂的数据。自定义、使用本地文件管理数据的模式已不能满足应用要求。而嵌入式数据库提供了可靠、高效的数据管理模式。OpenBASE Lite正是这样一款专门为运行在嵌入式设备上的应用而设计的安全可靠、无需管理的嵌入式关系型数据库管理系统,它提供了丰富的SQL语法,灵活标准的接口和组件,使开发人员在开发嵌入式软件时,面对熟悉的开发环境。 产品介绍 OpenBASE Lite是一个典型的轻量级数据库,定制的数据库引擎所占用的系统资源可在250KB到600KB之间伸缩,可支持多种桌面操作系统、主流嵌入式系统平台及不同的处理器。作为一款功能全面的关系型数据库系统,OpenBASE Lite通过支持标准的SQL语法、完整的事务特性、灵活的备份/恢复机制等功能,能够在嵌入式环境下沿用关系数据库的经验继续来进行应用的开发。OpenBASE Lite提供了开放的标准化开发接口JDBC、ODBC、https://www.doczj.com/doc/757057511.html,,便于开发人员访问嵌入式设备上的数据。OpenBASE Lite支持零管理,自调优机制,并提供了图形化管理工具,使得管理变得十分方便。 OpenBASE Lite提供了内存数据库运行模式,提供高速的数据访问与更新能力。

浅谈嵌入式SQLite数据库实现与应用

1、前言 有一些日子没有仔细关注SQLite了,今天打开其主页,发现其最新的版本已经是3.6.22了,更让我惊喜的是它的用户越来越多,而且邮件列表的关注者也越来越多,突然觉得自己已经太old了。惊喜的同时,不得不聊上几句了。 首先,来看看都有哪些人在使用SQLite,主页上列举一长串NB的用户,其中不乏像Adobe,Apple,F irefox,甚至连google,Microsoft,SUN这样的用户。 Firefox:这是我的机器上V3.5.7安装目录下的文件: 可以发现用的SQLite 3.6.16.1。 据说,Google在它的Desktop for Mac,Google Gears,以及Android,甚至Chrome中都用到S QLite,而且,Google的工程师对SQLite的全文检索功能作了很大的贡献(contribution)。还有Apple,Micorsoft,SUN等等,这里就不列举了。详细见https://www.doczj.com/doc/757057511.html,/famous.html。有这些公司的参与,对SQLite的发展应该有很大的帮助,尤其是像Google这样的用户。 2、实现与应用 下面从实现及应用的角度来谈谈SQLite,先看看SQLite的特点(功能)吧。 特点 简单(simple):SQLite是一个非常轻量级自包含(lightweight and self-contained)的DBMS:一个头文件,一个动态库文件,你就拥有了关系数据库的所有功能了。简单,是SQLite最明显的哲学。它提供的API少而简单。只需要一个DLL文件,你的程序马上就拥有了一个功能强大的数据库引擎,这是一件很美妙的事。 小巧(small):我用VS 2005在Windows下编译的3.6.11,Release版为368K,用时不到20秒——而编译MySQL时,要花上几分钟。而当我插入10000条int数据时,内存开销660K,磁盘开销92 K。 事务(transaction):事务是现代商业数据处理系统最基本的要求,而Access,不论是在可执行文件大小(看了一下Access2003的可执行文件大小为6.32M,两者不是一个量级),还是事务特性,都是不能和SQLite 相比的。 并发性(Concurrency):由于SQLite通过OS的文件锁来实现库级锁,粒度很大,但是,它通过一些复杂特殊的处理(具体可以参见分析系列),尽量的提升了读写的并发度。如果你还有担心,你可以看看这篇文章:https://www.doczj.com/doc/757057511.html,/database/sqlite_cms.html。 SQL92:SQLite支持绝大部分的标准SQL语句,你只需要几百K的空间,就可以换来需要上百兆的通用DBMS几乎所有操作了。 方便(Convenience):如果你的程序要使用SQLite,只需要将拷贝你的程序目录即可。

嵌入式数据库的现状和发展趋势_史恒亮

嵌入式数据库的现状和发展趋势 ①史恒亮1,2,3 白光一1,3 (1. 南京理工大学计算机学院江苏南京210094; 2.河南科 技大学电信学院河南洛阳471003; 3.方舟信息技术(苏州)有限公司江苏苏州215021) 2010 年第19 卷第 2 期计算机系统应用 Special Issue 专论综述207 CPU 的并行处理结构,一个CPU 负责正常的事务处 理,另一个专门负责有关恢复处理,如记录日志、做 检验点以及故障后进行数据库恢复,该方法是通过改 善硬件的处理性能来换取系统整体性能的改善,但该 种方法在资源条件苛刻的嵌入式系统中显然是不适用 的。有人提出了基于影子的恢复技术,该技术的优点 是消除了日志开销,恢复速度快,缺点是在事务生命 周期内数据库需维持其更新数据页的两个版本---当 前页和影子页 [6-8] ,同时需维护大量的页表指针。该方 法是通过适当的增加存储数据量来提高系统性能。相 比较而言,后者在嵌入式系统,以及嵌入式数据库恢 复中应用的更多。为了保证嵌入式数据库中数据的正 确性,文献[9]引入时间有效性,当数据库实时数据真 实反映对应实体对象物理环境时,这个数据在时间域 内是新鲜的。 3.2 事务处理技术和移动查询优化 嵌入式数据库系统中的事务处理在前端可以简单 化,但在整个应用系统中要结合计算环境的特征进行 事务处理控制。有效平衡用户事务和更新负载是提供 满意服务的关键,文献[10]提出了Qos(Quality of Server)技术,还提出了一种QMF 方法去保证事务满 足截止期的比率。文献[11]提出了用数据版本概念去 解决事务间访问数据的冲突和加强并发控制。为了保 证活动事务的顺利完成,必须设计和实现新的事务管 理策略和算法。 移动查询优化是指在传统分布式数据库查询优化 技术的基础上,利用多种方法消除带宽多样性、断接

常用的嵌入式数据库的比较

常用的嵌入式数据库的比较 2.1 Berkeley DB 技术特点: 1. Berkeley DB是一个开放源代码的内嵌式数据库管理系统,能够为应用程序提供高性能的数据管理服务。应用它程序员只需要调用一些简单的API就可以完成对数据的访问和管理。(不使用SQL语言) 2. Berkeley DB为许多编程语言提供了实用的API接口,包括C、C++、Java、Perl、Tcl、Python和PHP等。所有同数据库相关的操作都由Berkeley DB函数库负责统一完成。 3. Berkeley DB轻便灵活(Portable),可以运行于几乎所有的UNIX和Linux系统及其变种系统、Windows操作系统以及多种嵌入式实时操作系统之下。Berkeley DB被链接到应用程序中,终端用户一般根本感觉不到有一个数据库系统存在。 4. Berkeley DB是可伸缩(Scalable)的,这一点表现在很多方面。Database library 本身是很精简的(少于300KB的文本空间),但它能够管理规模高达256TB的数据库。它支持高并发度,成千上万个用户可同时操纵同一个数据库。Berkeley DB能以足够小的空间占用量运行于有严格约束的嵌入式系统。 Berkeley DB在嵌入式应用中比关系数据库和面向对象数据库要好,有以下两点原因:(1)因为数据库程序库同应用程序在相同的地址空间中运行,所以数据库操作不需要进程间的通讯。在一台机器的不同进程间或在网络中不同机器间进行进程通讯所花费的开销,要远远大于函数调用的开销; (2)因为Berkeley DB对所有操作都使用一组API接口,因此不需要对某种查询语言进行解析,也不用生成执行计划,大大提高了运行效。 2.2 SQLite 轻量级别数据库SQLite的主要特点: 1. 支持事件,不需要配置,不需要安装,也不需要管理员; 2. 支持大部分SQL92; 3. 一个完整的数据库保存在磁盘上面一个文件,同一个数据库文件可以在不同机器上面使用,最大支持数据库到2T,字符和BLOB的支持仅限制于可用内存; 4. 整个系统少于3万行代码,少于250KB的内存占用(gcc),大部分应用比目前常见的客户端/服务端的数据库快,没有其它依赖 5. 源代码开放,代码95%有较好的注释,简单易用的API。官方带有TCL的编译版本。 2.1 Berkeley DB 技术特点: 1. Berkeley DB是一个开放源代码的内嵌式数据库管理系统,能够为应用程序提供高性能的数据管理服务。应用它程序员只需要调用一些简单的API就可以完成对数据的访问和管理。(不使用SQL语言) 2. Berkeley DB为许多编程语言提供了实用的API接口,包括C、C++、Java、Perl、Tcl、Python和PHP等。所有同数据库相关的操作都由Berkeley DB函数库负责统一完成。

如影随形的数据库嵌入式数据库简介

如影随形的数据库嵌入式数据库简介 手机从仅能打电话、发短信发展到现在,已增加了诸多功能,如彩信、音乐、摄影等,功能应用多了,系统就变得复杂,嵌入式数据库作为共用的数据管理模块,实现了手机资源的共享。 说起近些年CPU(中央处理器)技术的发展,很多用户都耳闻能详,而对于嵌入式系统的发展,却没有足够了解。引用康佳集团股份有限公司技术中心经理陶显芳的话,现在每年只有10%~20%的计算机芯片是专为电脑设计,而每年近10~20亿个CPU(80%~90%)或是SOC(系统级芯片)是为嵌入式系统设计制造的。 嵌入式系统涵盖多领域 计算机作为一个系统的核心或关键部件,同系统中的其它部分协同作用来完成整个系统的任务,即计算机镶嵌在系统中发挥其作用,这类计算机系统被称为嵌入式计算机应用系统,嵌入式系统几乎涵盖了所有领域。 Oracle公司大中华区嵌入业务总监胡德旺告诉记者,嵌入式系统对数据处理的要求正在逐步增加,用户不仅要求处理大量而复杂的数据,还需要在应用变得更复杂时使数据的处理保持一致性。传统的基于文件系统的自行开发的数据管理系统,因为功能匮乏,开发周期长和维护困难等缺点,已经不能满足应用的要求了。 在嵌入式系统中,对数据库的操作具有定时限制的特性,这里把应用于嵌入式系统的数据库系统称为嵌入式数据库系统或嵌入式实时数据库系统(ERTDBS)。 可靠性要求是毋庸置疑的,嵌入式系统必须能够在没有人工干预的情况下,长时间不间断地运行。同时要求数据库操作具备可预知性,而且系统的大小和性能也都必须是可预知的,这样才能保证系统的性能。 嵌入式系统中会不可避免地与底层硬件打交道,因此在数据管理时,也要有底层控制的能力,如什么时候会发生磁盘操作,磁盘操作的次数,如何控制等。底层控制的能力是决定数据库管理操作的关键。 目前嵌入式软件系统开发的挑战之一,体现在对各种数据的管理能否建立一套可靠、高效、稳定的管理模式,嵌入式数据库可谓应运而生。 嵌入式数据库是嵌入式系统的重要组成部分,也成为对越来越多的个性化应用开发和管理而采用的一种必不可少的有效手段。 嵌入式数据库用途广泛,如用于消费电子产品、移动计算设备、企业实时管理应用、网络存储与管理以及各种专用设备,这一市场目前正处于高速增长之中。 举简单例子,手机原来只用来打电话、发短信,现在手机增加了很多新的功能,比如彩信、音乐、摄影、视频等等,应用的功能多了,系统就变得复杂。 以前手机软件的数据管理模式是每项应用需要自己定义、管理相关的数据,而如今已逐步趋向于用嵌入式数据库作为共用的数据管理模块以提高系统效率,实现手机资源(如影像、图片等)共享,并保持数据的稳

嵌入式数据库的发展与应用

嵌入式数据库的发展与应用 摘要:从嵌入式系统结构入手,阐述了嵌入式数据库的发展现状,并具体介绍了当前主流嵌入式数据库的共性、基本特点、关键技术、构件、分类,并提出了发展趋势和应用。20年前就已经被组合在各种应用程序、软件组件和硬件环境中。它有两个很重要的特征——“嵌入性”和“实时性”。这里用实际应用的实例来说明,在嵌入式系统里如何有效地使用嵌入式数据库。 关键词:嵌入式数据库;复制;缓存技术;现状;趋势;应用 随着计算机技术及相关技术的不断发展,嵌入式产品由于其智能化、小型化、便携式等特点,已经普遍应用于我们的生活,比如智能手机、车载导航设备、数字移动电视、机顶盒、智能控制设备等。这些产品通常是在计算资源、存储资源等条件受限的情况下处理大量的数据,而传统的数据库一般都是运行在各种各样的服务器或大容量的存储器上,显然把传统的数据库直接移植到嵌入式设备上是不可行的。那么如何在苛刻的条件下,充分利用有限的资源便成为了人们研究的热点。嵌入式数据库也正是在此条件下,和嵌入式操作系统、嵌入式应用软件相伴而生的。 1 嵌入式系统的体系结构 嵌入式数据库位于嵌入式系统的中间部分,下面有嵌入式操作系统层,当前主流的嵌入式操作系统有Windows CE;Palm OS。Linux,VXworks,SymbianOS 等平台,硬件平台主要有Dragonball,Handspring,MIPS,Hitachi SH,Power PC 以及ARM处理器。嵌入式应用软件位于嵌入式数据库之上,可以通过API函数接口,ODBC,JDBC等与嵌入式数据库通信,来实现数据的检索、删除、添加等操作,更为重要的是要实现数据的完整性、一致性。 当前主流的嵌入式数据库,具有支持多个平台、面向多种开发语言、具有多个灵活的接口等特点,主流的嵌入式数据库有:Oracle公司的Berkeley DB、Sysbase Adaptive Server Anywhere、Linter以及SQLite等,国内的科研机构也积极开展这方面的研究并推出了自己的产品,主要有方舟公司的Noahbase,人大金仓kingbase等。 在其体系结构中,只是描述了单一的以嵌入式设备为核心的体系架构,底层的数据采集程序把传感器集所测得的具有不同意义的数传送给嵌入式系统进行实时存储,以备数据中心进行数据的查询。嵌入式系统作为下位机负责数据的采

嵌入式数据库SQLite的原理与应用

嵌入式数据库SQLite的原理与应用 唐敏,宋杰 (安徽大学计算机学院,安徽合肥230039) 摘要:随着嵌入式技术的发展,在嵌入式系统中越来越多地用到数据库。首先介绍了嵌入式数据库的基本特点,进而详细介绍了一个简洁实用的嵌入式数据库—— —SQLite,包括SQLite的技术特性、体系结构以及基本的函数调用,着重介绍SQLite在arm-linux平台上的应用开发、交叉编译和移植过程。 关键词:嵌入式数据库;SQLite;arm-linux 中图分类号:TP392文献标识码:A文章编号:1009-3044(2008)04-10600-04 TheMechanismandApplicationsofSQLite TANGMin,SONGJie (TheComputerInstituteofAnhuiUniversity,Heifei230039,China) Abstract:Withthedevelopmentofembedded-computingtechnology,manyembeddedsystemsdeployembeddeddatabase.Thebasiccharacteristicoftheembeddeddatabaseisfirstlypresented.Anexcellentembeddeddatabase-SQLiteissecondlytalked.Includingthedis-tinctivefeaturesandthearchitectureofit,howtouseSQLiteisthirdlydescribed.Theapplicationdeveloping,crosscompilingandportinginarm-linuxplatformarealsointroduced. Keywords:embeddeddatabase;SQLite;arm-linux 1引言 嵌入式技术正在提供人们越来越多有趣而新颖的服务,在许多的嵌入式系统开发中都要用到数据库,比如电信交换机、消费类电子、办公自动化设备等高科技产品。SQLite是由D.RichardHipp开发的轻量级嵌入式数据库,它是世界上应用最广泛的嵌入式数据之一。它在国内的应用也越来越多,但目前国内介绍SQLite的文章很少,本文较详细地介绍了SQLite的特点,基本原理和使用方法。SQLite是开放源代码的,可以免费下载。下载的官方网址为www.sqlite.org,当前最新版本是3.5.6。 2嵌入式数据库 嵌入式数据库通常是与嵌入式操作系统及具体的应用集成在一起,无需独立运行数据库引擎,由程序直接调用相应的API就可实现对数据的存取操作。嵌入式系统的开发环境决定了其数据库的特点。 2.1体积适当 由于嵌入式系统自身的特点,对数据的存储和程序的运行都有较强的空间限制,所以嵌入式数据库首先应该保障的就是适当的体积。进一步来说就是占用尽量少的ROM、RAM及CPU的资源。 2.2功能齐备 嵌入式系统开发中,用户需求决定了需要一个大小适中、功能齐备的数据库来实现数据管理,这就使得开发人员要采用一个能够提供完备开发文档且易于开发的数据库技术。此外,在嵌入式设备中,数据库的管理对用户来说是透明的,这就要求此数据库能够自动完成启动初始化、日志管理、数据压缩、备份、数据恢复等功能;而且嵌入式设备经常有不可预料的硬复位,这就需要此数据库有高度的健壮性。 2.3可移植性 嵌入式系统的平台种类繁多,因此嵌入式数据库应有一定的可移植性,以适用于不同的软硬件平台。 收稿日期:2008-01-12 作者简介:唐敏(1976-),女,安徽大学计算机学院计算机应用专业硕士研究生,研究方向:嵌入式,嵌入式数据库技术;宋杰(1966-),男,安徽大学计算机学院副教授,博士学位,研究方向:嵌入式,生物信息学。

嵌入式数据库

嵌入式数据库 知识点: ●嵌入式数据库的特点与种类 ●mSQL安装与配置 ●mSQL数据库基本操作函数 本次课将介绍嵌入式数据库的基础知识。首先,分析嵌入式系统中的数据库的特点、现状及其发展;然后,重点讨论mSQL在嵌入式Linux中的应用,将详细介绍它的安装、配置及数据库的建立过程,并结合mSQL提供的API函数讨论其数据表的操作;最后,通过一个完整的实例示范如何在用户应用程序中操作mSQL数据库。 1.1嵌入式系统中的数据库 同多数计算系统相似,嵌入式系统也常常需要数据库支持。虽然很多情况下可以用文件方式实现部分数据库功能,但是当应用程序需要执行一些比较复杂的数据操作(如数据排序或检索)时,文件方式就无能为力了。正因为如此,越来越多的厂商及个人开发出性能各异的嵌入式数据库产品,并且在实际应用中不断发展完善。 1.1.1嵌入式数据库特点 由于应用环境的特殊限制。嵌入式数据库相对普通数据库系统而言有其自身特点: A.支持常用嵌入式系统(如Linux,Windnws CE,Palm OS等多种操作系统)和通 信协议。内核小,占用内存少。 B.提供数据库功能的自由定制,能够根据具体应用或行业特点定制系统功能。 C.方便的查询功能,支持SQL查询语句。 D.完善的数据管理功能,支持SQL标准的子集,提供数据库及数据表的管理等功 能。 E.操作简单方便,提供简明的API接口,可在高级语言中方便调用。 1.1.2嵌入式数据库现状与发展 数据库技术发展的原动力主要来自于不断扩大的应用需求及其支撑技术的成熟。嵌入式数据库随着各种移动设备、智能计算设备、嵌入式设备的发展而迅速发展。随着嵌入式应用对数据管理的要求不断提高,嵌入式数据库技术的地位也日显重要,它将在各个应用领域中扮演越来越重要的角色。 目前国际、国内嵌入式数据库产品及其应用处于一种“百花齐放、百家争鸣”的状态,应用需求多种多样,计算平台也是各有特色,还没有任何一家厂商能够做到一统天下。 随着各种移动设备和嵌入式设备进入普通百姓的日常生活,信息共享及交流己成为人们生活中不可缺少的一部分。人们每天面对各种瞬息万变的信息资料,如果没有数据库的帮助,这一切都是不可能实现的。 此外.在未来的军事、航空、国土资源管理、移动医疗等领域嵌入式数据库系统也将占据主导作用,嵌入式数据库技术将使得信息在未来生活中无处不在、无时不在。 1.2 mSQL简介 Mini SQL (mSQL )是嵌入式数据库家族中的佼佼者,它由澳大利亚的David J. Hughes开发,目前最新版本是mSQL 3.8。本章将以.SQL 3.0为例对其进行相应的介绍。 Mini SQL是一种小型的关系数据库管理系统。说它小,是因为它自身结构紧凑小巧,占用系统资源少,不像大型通用数据库那样动辄数百兆字节。事实上,mSQL功能十分强大,足以胜任大型数据集的索引、查询任务。当然,mSQL终究是个小型数据库系统,它的设计初衷是用于资源较少的环境下,所以某些标准SQL的功能它并不支持。 mSQL的1.x版本只能支持有限数目记录的数据集,2,0版本的数据库引擎已经设计为

常见数据库种类及介绍

常用的关系数据库及其简介 软件工程2班王欣欣 摘要:从常见的关系数据库入手,阐述了常用关系数据库的发展现状,并具体介绍了当前主流关系数据库的共性、基本特点、关键技术、构件、分类,并提出了发展趋势和进一步研究的技术突破点。 关键字:关系数据库;;平台;技术;现状;趋势;特点 关系数据库,是建立在关系数据库模型基础上的数据库,借助于集合代数等概念和方法来处理数据库中的数据。目前主流的关系数据库有oracle、SQL、access、db2、sqlserver,sybase等。关系数据库(relational database)是一个被组织成一组正式描述的表格的数据项的收集,这些表格中的数据能以许多不同的方式被存取或重新召集而不需要重新组织数据库表格。关系数据库是在1970 年被IBM 公司的 E. F. Codd发明的。 下面对常用的关系数据库做具体阐述: 1.Oracle Oracle公司产品支持最广泛的操作系统平台。目前Oracle关系数据库市场占有率有率名列前茅。ORACLE是最早提出基于标准SQL数据库语言的关系数据库产品之一,1979年问世,近二十年来融汇了数据库的各种先进技术,在小型机及微型机的关系数据库系统领域,占有举足轻重的地位。自第五版起,支持客户/服务器和协同服务器,目前最新版本是1998年推出的ORACLE8.0。具有兼容性,可移植性,可联结性,高生产率。还具有以下特点: (1)名符其实的大型数据库:ORACLE建立的数据库,最大数据量可达几百GB; (2)共享SQL和多线索服务器体系结构:这两个特性的结合,减少ORACLE的资源占 用,增强处理能力,能支持成百甚至上千个用户。 (3)跨平台能力:ORACLE数据库管理系统可以运行在100多个硬件和软件平台上,这 一点为其它PC平台上的数据库产品所不及。 (4)分布式数据库:可以使物理分布不同的多个数据库上的数据,被看成是一个完整的 逻辑数据库,尽管数据操纵的单个事务可能要运行于多处地点,但这对应用程序却是透明的,应用程序开发人员的感觉就好象所有的数据都是物理地存储在本地数据库中。 (5)卓越的安全机制:包括对数据库的存取控制,决定可以执行的命令,限制单一进程 可用的资源数量以及定义数据库中数据的访问级别等。 (6)支持客户机/服务器方式,支持多种网络协议。 2.DB2 该版本的目标是提供这一新方案所承诺的简单性,数据不相关性和用户生产率。最近推出的DB2 Universal Database 6.1则是通用数据库的典范,是第一个具备网上功能的多媒体关系数据库管理系统,支持包括Linux在内的一系列平台。 DB2系列跨越了各种平台,包括:UNIX、Linux与Windows平台以及IBM iSeries (OS/400操作系统)。DB2 Everyplace 支持手持设备和嵌入式Linux 环境,并提供了与更大型系统的数据同步,为整个系列的应用程序开发和数据库管理提供了常用工具。IBM的DB2 通用数据库属于对象关系类型的数据库系统,是通用型的数据库产品。

两种嵌入式常用数据库比较 - 嵌入式相关 - 无为

两种嵌入式常用数据库比较- 嵌入式相关- 无为 以下是对两个嵌入式数据库Berkeley DB和SQLite的部分比较:名称/内容 Berkeley DB SQLiteLicence Versions 2.0 and higher of Berkeley DB are available under a dual license. Versions earlier than 2.0 are available under a BSD-like license that has an unusual additional clause similar to the GNU GPL version 2's Section 3.【From Wiki】 Dual License The Berkeley DB products are available under a dual license model, which offers great advantages for customers. An open source license permits customers to use

Berkeley DB at no charge under the condition that if a customer uses Berkeley DB in an application they distribute to a third party, the complete source code for the application must be available. A commercial software license is also available and permits the customer to distribute their application without releasing their source code.【From OTN】 Anyone is free to copy, modify, publish, use, compile, sell, or distribute the original SQLite code, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means.【From https://www.doczj.com/doc/757057511.html,】API Berkeley DB为许多编程语言提供了实用的API接口,包括C、C++、Java、:Perl、Tcl、Python和PHP等。适用平台

相关主题
文本预览
相关文档 最新文档