几种常见的内嵌数据库

因笔者最近有一个项目要使用内嵌数据库,在对内嵌数据库选型上纠结了一段时间,以下则是对各个内嵌数据库的整理总结给大家共享,有不当之处还请指正。

  • Sqlite

 

SQLite 第一个Alpha 版本诞生于20005. 至今已经有10 个年头了. SQLite 也迎来了一个版本 SQLite 3 已经发布.

SQLite 是一款轻型的数据库,是遵守ACID 的关联式数据库管理系统,它的设计目标是嵌入 式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K 的内存就够了。它能够支持 Windows/Linux/Unix 等等主流的操作系统,同时能够跟很多程序语言相结合,比如TclC#PHPJava 等,还有ODBC 接口。同时SQLite 支持以加密方式存储数据信息。

优点 :占用内存非常小,适合内存受限设备(如手持设备)。

缺点 :官方已停止开发,后续升级维护困难。

授权方式 public domain

官方网站 http://www.sqlite.org/

 

 

  • Apache derby

 

Apache Derby 是用 Java 语言编写的,所以可以在任何存在合适的 Java 虚拟机(JVM )的地方运行。这意味着 Derby 实际上可以跨操作系统上运行,包括 Microsoft WindowsMacintoshLinux UNIX 平台。支持SQL 99 SQL 2003 语法。

Derby 也可以在三个 Java 平台的任何一个上运行:Java 2 Platform, Micro Edition (J2ME)Java 2 Platform, Standard Edition (J2SE) Java 2 Platform, Enterprise Edition (J2EE)Derby 软件绑定在 Java 档案(JAR )文件中,只有 2 MB 大小。由于内存占用这么小,所以 Derby 数据库可以容易地与应用程序绑定在一起。

Cloudscape Version 10 开始,IBM Cloudscape 解决方案都以 Derby 代码为基础。
可以从 IBM 下载 Cloudscape 。下载 Cloudscape 不需要任何许可费用,但是可以从 IBM 购买对它的支持;在Sun JDK6 开始,Apache derby 作为 sun jdk 内置数据库使用。

优点 :完全由java 开发,适合JavaEE 平台;得到SunIBM 和其他框架(如hibernate )支持,应用前景良好。

缺点 :因完全使用java 开发,不适用于在其他编程语言内置使用。

授权方式 Apache License 2.0

官方网站 http://db.apache.org/derby/

 

 

  • hsqldb

 

Hsqldb 是一个开放源代码的JAVA 数据库,其具有标准的SQL 语法和JAVA 接口,它可以自由使用和分发,非常简洁和快速的。

HSqlDB 是由 Tomas Muller Hypersonic SQL 后续开发出来的项目, hsql 已经停止研发了, hypersonic db 是纯 java 所开发的数据库, 可以透过 jdbc driver 来存取, 支持 ANSI-92 标准的 SQL 语法, 而且他占的空间很小, 大约只有 160K, 拥有快速的数据库引擎, 也提供了一些工具, 例如 web-server, 缓冲查询, 及一些管理工具. 他是属于 BSD license, 可以自由下载, 并且可以安装使用在商业产品之上。

  HSqlDB 非常适合在用于快速的测试和演示的Java 程序中。做单元测试也非常理想。

HSqlDB 不适合管理大型数据,例如百万数量级记录的数据库应用。HSQLDB 简介它具有 Server 模式,进程内模式(In-Process) 和内存模式(Memory-Only) 三种。运行Hsqldb 需要hsqldb.jar, 它包含了一些组件和程序。

优点 :完全由java 开发,适合JavaEE 平台的测试环境。

缺点 :官方已停止开发,后续升级维护困难。

授权方式 BSD License

官方网站 http://hsqldb.org

 

 

  • MS Access

 

    基于文件的数据库,由Microsoft office 提供,非常适合window 操作系统中使用,可以通过ADO API 读写数据。

    优点 :使用ADO API 访问,非常适合在window 平台开发的程序使用

    缺点 :不支持跨平台

    授权方式 :私有授权协议

   

 

  • Oracle Berkeley DB

 

Berkeley DB 是历史悠久的嵌入式数据库系统,主要应用在UNIX/LINUX 操作系统上,其设计思想是简单、小巧、可靠、高性能。本文是对DB 开发的一个入门级指 南,重点讨论了DB 的核心数据结构和数据访问算法,并通过实际的代码演示如何使用DB 。最后有一个对DB 的简单总结,并提出作者对工具选择的一些感想。

  DB 最初开发的目的是以新的HASH 访问算法来代替旧的hsearch 函数和大量的dbm 实现(如AT&TdbmBerkeley ndbmGNU 项目的gdbm,DB 的第一个发行版在1991 年出现,当时还包含了B+ 树数据访问算法。在1992 年,BSD UNIX4.4 发行版中包含了DB1.85 版。基本上认为这是DB 的第一个正式版。在1996 年中期,Sleepycat 软件公司成立,提供对DB 的商业支持。在这以后,DB 得到了广泛的应用,当前最新版本是 Berkeley DB 11gR2

DB 支持几乎所有的现代操作系统,如LINUXUNIXWINDOWS 等,也提供了丰富的应用程序接口,支持CC++JAVA PERLTCLPYTHONPHP 等。DB 的应用十分广泛,在很多知名的软件中都能看到其身影。

 

值得注意的是DB 是嵌入式数据库系统,而不是常见的关系/ 对象型数据库,对SQL 语言不支持,也不提供数据库常见的高级功能,如存储过程,触发器等。

 

优点 :数据存取效率高,适合数据缓存。

缺点 :使用键值对方式保存数据,应用范围窄;不支持SQL 语法。

授权方式 BSD License

官方网页

http://www.oracle.com/technology/products/berkeley-db/index.html

 

 

  • db4o

 

db4o 是一个开源的纯面向对象数据库引擎,对于 Java .NET 开发者来说都是一个简单易用的对象持久化工具,使用简单。同时,db4o 已经被第三方验证为具有优秀性能的面向对象数据库。

db4o 的目标是提供一个功能强大的,适合嵌入的数据库引擎,可以工作在设备,移动产品,桌面以及服务器等各种平台。db4o 100% 原生的面向对象数据库,直接使用编程语言来操作数据库。程序员无需进行 OR 映射来存储对象,大大节省了程序员在存储数据的开发时间。

使用 db4o 仅需引入 400 k jar 文件或是 dll 文件,内存消耗极小。

 

优点 :对象数据库,适合面向对象编程思想;占用内存小,适合内存受限使用环境。

缺点 :在大规模应用环境下,存在性能瓶颈。

授权方式 GPL

官方网页 http://www.db4o.com

 

 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值