常用的几种嵌入式数据库

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数据库,能够与数据库文件进行通信。

你可能感兴趣的:(项目总结)