常用的几种嵌入式数据库

1.MySQL的体积比较小,它是一个关系型的数据库管理系统,是由瑞典MySQL AB公司开发出来的,由于MySQL体积小、速度快、总体成本低,特别是它的源码的开放特点,许多中小型网站为了降低网站的总体成本,都选择了MySQL数据库。目前在Internet上的中小型网站的服务器上,MySQL得到了广泛的应用。MySQL的特征如下:

(1)源代码采用C和C++语言编写,并且使用了多种编译器进行测试,因此保证了它的源代码的可移植性和稳定性;

(2)支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris和Windows等多种操作系统;

(3)为多种编程语言提供了API函数,比如C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等;

(4)优化SQL查询算法,有效地提高了查询效率;

(5)支持多线程机制,能够充分利用CPU资源;

(6)提供了用于管理、检查、优化数据库操作的强大的管理工具;

(7)能够支持多种语言,比如中文的GB 2312和BIG5,日文的Shift_JIS等这些常见的编码,这些都可作为数据表名和数据列名。在客户端/服务器的网络环境中,可以把它作为一个单独的应用程序,也可以把它作为一个库嵌入在其它的软件中。

(8)能够处理拥有上千万条记录的大型数据库;

(9)提供了TCP/IP、ODBC和JDBC等多种数据库连接途径。

2. mSQL

mSQL是一个单用户的数据库管理系统,因为它具有短小精悍的特点,互联网用户很喜爱使用其开发的应用系统。mSQL占用的系统资源较少,属于小型的关系型数据库系统,不能完全支持某些标准的SQL功能,并且mSQL缺少大多数的ANSISQL特征,没有事务和参考完整性,基本上不支持任何嵌套的SQL语句,它仅仅只实现了功能较小的API。mSQL只能够在大学中免费使用,也可以是为了学术研究和慈善等非营利性目的,能够免费得到使用权,对于其它应用必须付费注册后才能得到正式的版权,它并不是完全的自由软件。

3. Berkeley

Berkeley数据库的源代码是开源的,它是一个内嵌式的数据库管理系统,在为应用程序提供数据管理服务时,可以达到很高的性能。在进行程序编写时只需要调用一些简单的API函数就可以访问数据库、管理数据库。它与MySQL和Oracle等常用的数据库管理系统是不尽相同的,在BerkeleyDB中是没有数据库服务器的概念的,应用程序直接通过内嵌在程序中的函数库完成对数据的保存、查询、修改和删除,这些操作事先不需要同数据库服务建立起网络连接。

4. solid

Solid与传统的大型企业级数据库系统不同,它是一款“轻量级”的数据库,小巧轻便(安装介质为30M左右,运行时只需要10M左右的系统资源),安装部署和维护也很简单,这使客户的维护管理成本大大降低。但是solid 同样是标准的关系型数据库,它不会因为“轻量级”的性质而损失任何功能,支持 SQL 、ACID 和 事务隔离级别等标准,也支持数据库的内部编程,比如存储过程、触发器、事件等。并且有任何其它关系型数据库的使用经验的技术人员都很容易掌握。此外它覆盖了几乎所有的操作系统平台,可以稳定的运行在嵌入式操作系统、Windows、Linux 、AIX、HP-UX和Solaris等环境上,可以在全局网络内为用户提供端到端的数据共享平台。Solid 数据库的适用范围非常广阔,比如嵌入式领域、桌面系统、中小型业务系统,还可以应用在金融/通信等高端行业的业务支撑系统,另外可以在电信、金融等行业的核心运营支撑系统中使用。

5.SQLite

SQLite数据库是一种嵌入式数据库,是D.Richard Hipp开发出来的,它用一个小型C 库实现的,是一种强有力的嵌入式关系数据库,它为了追求尽量简单的目标,放弃了传统的企业级数据库的复杂特性,只是实现了数据库一些必备的基本功能。由此可见,大多数标准的SQL92语句都能够得到SQLite的支持,此外SQLite采用单文件的方式存放数据库的,速度大概比MySQL快一到二倍。在语句的操作上更类似于关系型数据库,使用非常方便。SQLite的使用不会涉及到版权问题,是开源的数据库系统,可以广泛地应用在商业性的产品中,它具有以下特征:

(1)源代码开放:在嵌入式系统的程序开发中,开源免费的代码不仅可以减少产品的开发时间,节约开发成本,也有利于产品的维护和运行的稳定性。

(2)体积较小、速度快:它的全部源码由大约3万行C语言代码组成,大小约250KB,对数据的操作比目前流行的大多数数据库系统都快。

(3)功能完善:支持ACID(Atomicity 、Consistency、Isolation、Durability)事务, Atomicity(原子性)、Consistency(一致性)、Isolation(隔离性)和Durability(持久性)是一个支持事务(Transaction)的数据库系统必需要具有的四种特性,否则在事务过程(Transaction processing)中无法保证数据的正确性,交易过程很有可能达不到交易方的要求。SQLite支持大多数的SQL92,即支持触发器、多表和索引、事务、视图,还支持嵌套的SQL。SQLite数据库存储在单一的磁盘文件中,可以使不同字节序的机器进行自由共享,支持数据库的大小可以达到2TB。

(4)提供丰富的API支持:对于C/C++、PHP、Perl等编程语言都可以通过API来访问SQLite数据库,能够与数据库文件进行通信。

  • 8
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
嵌入式系统开发基础——基于ARM微处理器和Linux操作系统[滕英岩][习题解答] 目录第1章 嵌入式系统基础知识 1.1 嵌入式系统的特点及分类 1.1.1 嵌入式系统的特点 1.1.2 嵌入式系统的分类 1.2 嵌入式系统的软硬件结构 1.3 嵌入式微处理器ARM 1.3.1 ARM简述 1.3.2 ARM编程模型 1.3.3 ARM指令集 1.3.4 C语言和汇编语言的混合编程 1.4 嵌入式操作系统 1.5 基于ARM和Linux的嵌入式开发平台 习题 第2章 嵌入式交叉编译环境 2.1 嵌入式交叉编译环境简介 2.2 NFS服务 2.3 Samba服务 2.4 Windows和LJnux混合开发模式 2.4.1 VMware虚拟机设置共享 2.4.2 SSH客户端软件 2.4.3 Windows下的文本编辑工具 2.5 GCC编译器 2.5.1 GCC的编译过程 2.5.2 GCC的其他选项 2.6 GDB调试器 2.6.1 GDB基本使用方法 2.6.2 GDB基本命令 2.6.3 GDB典型实例 2.7 Make工具的使用 2.7.1 Makefile基础知识 2.7.2 Makefile应用 2.7.3 使用autotools自动生成Makefile文件 2.8 嵌入式交叉编译环境的搭建 2.8.1 嵌入式交叉编译环境的安装与配置 2.8.2 minicom和Windows XP超级终端的配置 习题 第3章 嵌入式开发环境的搭建 3.1 嵌入式开发环境概述 3.2 Flash程序烧写 3.3 BootLoader程序 3.3.1 BootLoader程序原理 3.3.2 几种流行的Linux BootLoader 3.3.3 S3C2410平台上的VIVI分析 3.4 内核的裁减和编译 3.4.1 内核的裁减 3.4.2 内核的编译 3.4.3 内核的烧写 3.5 根文件系统的构建 3.5.1 根文件系统 3.5.2 BusyBox工具介绍 3.5.3 根文件系统的构建过程 3.6 驱动程序原理与开发 3.6.1 驱动程序基本原理 3.6.2 Linux下字符型设备驱动管理 3.6.3 Linux下字符型设备驱动程序实例分析 习题 第4章 MiniGUI应用程序设计 4.1 嵌入式GUI概述 4.2 常用嵌入式GUI介绍 4.3 MiniGUI概述 4.4 MiniGUI的编译和安装 4.5 MiniGUI程序框架 4.6 MiniGUI编程基础 4.6.1 MiniGUI窗口 4.6.2 MiniGUI消息及消息队列 4.6.3 MiniGUI对话框 4.6.4 MiniGUI菜单 4.6.5 MiniGUI基本控件 4.7 MiniGUI综合实例 习题 第5章 嵌入式数据库 5.1 嵌入式数据库的特点 5.2 嵌入式数据库的应用 5.3 SQLite数据库 5.3.1 SQLite3的安装 5.3.2 SQLite3的命令 5.3.3 SQLite3的数据类型 5.3.4 SQLite3的API函数 5.3.5 SQLite3在MiniGUI中的应用 习题 第6章 Qt图形界面应用程序开发 6.1 Qt简介 6.1.1 Qt的历史 6.1.2 Qt中主要的类 6.1.3 信号和槽 6.1.4 Qt的帮助文档 6.1.5 Qt4的特点和优势 6.1.6 Qt4的安装与配置 6.1.7 Qt4程序结构及实例 6.2 Qt4 Designer的应用 6.2.1 Qt Designer的应用 6.2.2 Qt中的控件及对话框类 6.2.3 Qt应用程序实例——计算器 6.3 Qt4与数据库 6.3.1 Qt4与数据库的连接 6.3.2 执行SQL命令 6.3.3 SQL模型 6.3.4 Linux下中文输入 6.3.5 Qt4与SQLite3的应用程序实例 6.4 Qt/Embedded 6.4.1 Qt/Embedded的图形引擎实现 6.4.2 Qt/Embedded的事件驱动 6.4.3 Qt/Embedded的移植 6.4.4 VMware增加虚拟的硬盘 6.4.5 Qt/Embedded的安装 习题 参考文献

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值