嵌入式数据库调研

嵌入式数据库概念:

嵌入式数据库系统是指支持移动计算或某种特定计算模式的数据库管理系统,他通常与操作系统和具体应用集成在一起,运行在智能型嵌入式设备或移动设备上。由于嵌入式数据库总是与移动计算相结合,所以嵌入数据库通常也称为嵌入式移动数据库。

嵌入式数据库种类:

1.progress:

2.SQLite:http://www.sqlite.org/

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

2. 支持大部分SQL92

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

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

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

SQLite执行速度快,http://www.ituring.com.cn/article/44112

3.Empress(商业数据库):

4.Berkeley DB的特点如下:

1、嵌入式,无需安装配置。
2、为多种编程语言提供了API接口,其中包括C、C++、Java、Perl、Tcl、Python和PHP等等。
3、轻便灵活。它可以运行于几乎所有的UNIX和Linux系统及其变种系统、Windows操作系统以及多种嵌入式实时操作系统之下。
4、可伸缩。它的Database library才几百KB大小,但它能够管理规模高达256TB的数据库。它支持高并发度,成千上万个用户可同时操纵同一个数据库。

5.Firebird的嵌入版有如下特色:

1、数据库文件与Firebird网络版本完全兼容,差别仅在于连接方式不同,可以实现零成本迁移。
2、数据库文件仅受操作系统的限制,且支持将一个数据库分割成不同文件,突破了操作系统最大文件的限制,提高了IO吞吐量。
3、完全支持SQL92标准,支持大部分SQL-99标准功能。
4、丰富的开发工具支持,绝大部分基于Interbase的组件,可以直接使用于Firebird。
5、支持事务、存储过程、触发器等关系数据库的所有特性。
6、可自己编写扩展函数(UDF)。

嵌入式数据库特性对比
产品名称      SQLite        Berkeley DB          Firebird
当前版本:     3.3.8、         4.5.20、            2.0
速度:        最快、          快、              快
稳定性:       好、           好、              好
数据库容量:    2TB、         256TB、             64TB
SQL支持:    大部份SQL- 92、     不支持、       完全SQL-92与大部份SQL-99
Win32平台下最小体积: 374KB、     840KB、             3.68MB
数据操纵:    SQL、         仅应用程序接口、          SQL

开发接口:C, C++, PHP, Java, Delphi, Python .net(有些是第三方厂商开发的)

从 以上对比中,我们可以看到,最短小精悍的是SQLite,它的性能也是最高的,Berkeley DB比较特殊,因为它不是用SQL语言来操纵数据的,Firebird嵌入版的体积对比之下显得稍大了些,但它对关系数据库特性的支持是最好的,如果要考 虑到今后或许要将数据库升级成网络版本,就要选Firebird了。

相关链接:

http://www.360doc.com/content/11/0321/10/59141_103107315.shtml

时间: 2024-08-10 23:11:20

嵌入式数据库调研的相关文章

Unity3D在Android平台使用嵌入式数据库Sqlite,解决无法找到数据库文件的问题

做一个需要嵌入式数据库Sqlite 的unity3d项目,在pc机上运行良好,需要发布到Android平台上,于是,各种坑爹...会遇到找不到数据库文件的问题.当在pc机上使用sqlite时,当执行SqliteConnection dbConnection = new SqliteConnection("data source = test.db");语句时,如果有这个数据库文件则建立连接,如果没有则创建出这个文件,然后建立连接.当在Android平台上时,扯淡的事情就开始了,总之便不

非嵌入式数据库 软件很难普及 玩大

pg没有 嵌入版我不用 TMD 以后 写软件 就得玩 嵌入式数据库否则 根本 做不大的我是前车之鉴,人家 网页都几十万用户了 我还徘徊在5万以下原因就是 客户端软件的 安装巨麻烦 ,我用的是 sqlserver2005每个用户都安装 sql2005可见 有多失败光售后问题 就能让人 死好几回非嵌入式数据库 软件很难普及 玩大以后 再写软件 就一个exe,不需要安装 可以用weblone再网页中运行,也可以下载下来直接运行 不需要安装

[Sqlite] 移动嵌入式数据库Sqlite的日常SQL操作语句汇总

序言:     嵌入式数据库Sqlite的基本sql使用汇总,使用测试起来,与关系型数据库mysql在语法上有很多的相似之处,先准备测试数据: CREATE TABLE COMPANY(ID INT NOT NULL, NAME VARCHAR(20),AGE INT,ADDRESS VARCHAR(20),SALARY DECIMAL(7,2)); INSERT INTO "COMPANY" VALUES(1,'Paul',32,'California',20000); INSERT

Sqlite嵌入式数据库的安装、建库、建表、更新表结构以及数据导入导出等等详细过程记录

简介: SQLite 是实现了SQL 92标准的一个大子集的嵌入式数据库.其以在一个库中组合了数据库引擎和接口,能将所有数据存储于单个文件中而著名.我觉得SQLite的功能一定程度上居于MySQL 和PostgreSQL之间.尽管如此,在性能上面,SQLite常常快2-3倍 (甚至更多).这利益于其高度调整了的内部架构,因为它除去了服务器端到客户端和客户端到服务器端的通信. 而令人印象深刻的特点是你可将你的整个数据库系统放在其中.利用非常高效的内存组织,SQLite只需在很小的内存中维护其很小的

H2嵌入式数据库的各种连接方式

H2database是一款用java语言编写的开源数据库, 一般用作游戏的数据存储, 当然web项目也是可以用的, web项目也可以将该数据库 首先要安装H2数据库 http://www.h2database.com/ 把链接和加载驱动配置到jdbc.properties文件中 第一种通过TCP/IP服务器连接 jdbc.driverClassName=org.h2.Driver jdbc.url=jdbc\:h2\:tcp\://服务器地址\:9092/~/数据库名;MVCC\=TRUE jd

[Sqlite] 移动嵌入式数据库Sqlite日报SQL操作语句汇总

前言:     嵌入式数据库Sqlite基本sql使用摘要.使用测试,与关系数据库mysql在语法上有非常多的类似之处,先准备測试数据: CREATE TABLE COMPANY(ID INT NOT NULL, NAME VARCHAR(20),AGE INT,ADDRESS VARCHAR(20),SALARY DECIMAL(7,2)); INSERT INTO "COMPANY" VALUES(1,'Paul',32,'California',20000); INSERT IN

lmdb简介——结合MVCC的B+树嵌入式数据库

lmdb简介 lmdb是openLDAP项目开发的嵌入式(作为一个库嵌入到宿主程序)存储引擎.其主要特性有: 基于文件映射IO(mmap) 基于B+树的key-value接口 基于MVCC(Multi Version Concurrent Control)的事务处理 类bdb(berkeley db)的api 实现 底层读写的实现 lmdb的基本思路是使用mmap访问存储,不管这个存储实在内存上还是在持久存储上. lmdb的所有读取操作都是通过mmap将要访问的文件只读地装载到宿主进程的地址空间

Java嵌入式数据库H2学习总结(一)——H2数据库入门

一.H2数据库介绍 常用的开源数据库有:H2,Derby,HSQLDB,MySQL,PostgreSQL.其中H2和HSQLDB类似,十分适合作为嵌入式数据库使用,而其它的数据库大部分都需要安装独立的客户端和服务器端. H2的优势: 1.h2采用纯Java编写,因此不受平台的限制. 2.h2只有一个jar文件,十分适合作为嵌入式数据库试用. 3.h2提供了一个十分方便的web控制台用于操作和管理数据库内容. 二.H2数据库下载和安装 2.1.H2数据库下载 H2数据库下载地址:http://ww

简单的数据存储——plist、NSKeyedArchiver归档、NSUserDefaults(偏好设置)、SQLite(嵌入式数据库)

数据存储的五种方法: 1.xml属性列表(plist归档) 2.NSKeyedArchiver归档(加密形式) 3.NSUserDefaults(偏好设置) 4.SQLite(嵌入式数据库) 5.Core Date(面向对象方式的嵌入式数据库) 一.plist的读写 缺点: 1.明文保存 2.操作对象有限只有NSArray.NSMutableArray.NSDictionary.NSMutableDictionary支持 (归档时只要调用对应的writeToFile方法即可,解档调用arrayW