引言

随着嵌入式系统的广泛应用和用户对数据处理和管理需求的不断提高,各种智能设备和数据库技术的紧密结合已经得到了各方面的重视。不久的将来嵌入式数据库将无处不在。纵观目前国际、国内嵌入式数据库的应用情况,目前基于嵌入式数据库应用的市场已经进入加速发展的阶段。

1 嵌入式数据库

1.1 嵌入式数据库的设计

嵌入式数据库系统是指支持某种特定计算模式或移动计算的数据库管理系统,它通常与操作系统和具体应用集成在一起,运行在智能型嵌入式设备或移动设备上。嵌入式数据库的使用是采用程序驱动,即由程序调用相应的API来实现数据的存取。具有体积小巧、快速高效、稳定可靠、可移植性等特点,非常适用于嵌入式环境下的数据管理.。

嵌入式数据库的主要设计思想如下图1所示,在向上层应用提供标准的数据库接口的同时,摆脱传统数据库仅仅由软件驱动的束缚,根据嵌入式系统的实际情况用SOC技术同时实现硬件驱动。软件部分按SQL92标准实现SQL语句的解析,实现事务管理功能、数据同步机制、数据的备份和恢复,软件部分不关心数据的实际存储,用标准C实现,能同任何嵌入式操作系统内核一同编译,能支持各嵌入式操作系统的安装格式,由数据库硬件驱动专用芯片实现对实际数据的访问功能(存储器读写,I/O通讯,异构数据库接驳)。

MySQL 对单片机 单片机需要数据库吗_linux单片机用什么数据库

图1  嵌入式数据库驱动结构图

1.2. 嵌入式数据库SQLite

SQLite 是D. Richard Hipp 在2000年开发的一个小型嵌入式数据库。他是完全独立的,不具有外部依赖性,可以较为方便地应用于嵌入式系统中。其源代码完全开放,可以免费用于任何用途,包括商业目的。SQLite 虽然是个极端轻量级的关系数据库,却保留了数据库的大部分特征,他提供了对SQL92 标准的大多数支持:支持多表和索引、事务、视图、触发和一系列的用户接口及驱动。其主要特征如下::

(1) 支持原子的、一致的、独立的和持久的(ACID) 事务特性,即使系统崩溃和掉电。

(2) 零配置(Zero2configuration),无需安装和管理。

(3) 一个完整的数据库存储在单一磁盘文件中。

(4) 数据库文件可以在不同字节顺序的机器间自由共享。

(5) 支持数据库大小至2 TB。

(6) 字符串和二进制大对象(BLOBs) 的大小仅被有效内存限制。

(7) 源码体积小,编译后低于250 kB。

(8) 大部分的操作比关系型数据库引擎要快。

(9) 简单易用的API。

SQLite 由于小、快、简单、可靠,而且作者完全放弃版权,从他一发布出来,便深受欢迎。对于嵌人式环境,管理、执行、维护的简单化比企业数据库引擎提供的许多复杂应用更重要,因此SQLite 数据库是一个很好的选择。