欢迎大家赞助一杯啤酒🍺 我们准备了下酒菜:Formal mathematics/Isabelle/ML, Formal verification/Coq/ACL2, C++/F#/Lisp
Apache Derby
目录 |
简介
Apache Derby 是用 Java 语言编写的,所以可以在任何存在合适的 Java 虚拟机(JVM)的地方运行。这意味着 Derby 实际上可以在任何操作系统上运行,包括 Microsoft Windows®、Macintosh、Linux® 和 UNIX® 平台。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 数据库可以容易地与应用程序绑定在一起。
可以用两种方式使用 Derby 数据库:
- 作为内嵌的数据库,用户并不知道数据库的存在。应用程序使用数据库,二者在同一个 JVM 中运行,而数据库把数据保存在本地文件系统中。在内嵌模型中,数据库只与运行在同一 JVM 中的应用程序通信。
- 作为客户机-服务器连接,是许多商业厂商使用的更传统的模型。在这种模型中,应用程序通过网络连接与数据库通信,应用程序和数据库分别在各自的 JVM 中运行。数据库服务器可以与多个客户机应用程序通信。
历史
1996 年,一个叫做 Cloudscape, Inc 的新公司成立了,公司的目标是构建一个用 Java 语言编写的数据库服务器。公司的第一个发行版在一年之后推出,后来产品的名称变成 Cloudscape。
1999 年,Cloudscape, Inc. 被大型数据库厂商 Informix Software, Inc. 收购。
2001 年, Informix Software 又被 IBM 收购,然后 IBM Cloudscape™ 数据库系统在许多 IBM 的产品中被用作内嵌的数据库引擎。
2004 年 4 月,IBM 把 Cloudscape 数据库软件赠送给 Apache 软件基金会(ASF),从此 Apache Derby 项目诞生了。在 Apache 中这个项目叫做 Derby,它是一个孵化器项目。开发人员可以在 Apache 的许可下为 Derby 代码作出贡献,或者下载 Derby 代码。从 Cloudscape Version 10 开始,IBM 的 Cloudscape 解决方案都以 Derby 代码为基础。
可以从 IBM 下载 Cloudscape。下载 Cloudscape 不需要任何许可费用,但是可以从 IBM 购买对它的支持。
最新版
Derby 10.3.1.4 runs on the following platforms:
- JDK 1.4 and Java 5 - Here Derby supports the JDBC 3.0 interface.
- Java 6 - Here Derby supports the JDBC 4.0 interface.
- CDC/Foundation 1.1 - Here Derby supports the JSR 169 interface.
Install
get http://download.huihoo.com/apache/derby/ cd bin export DERBY_HOME=/usr/local/db-derby-10.3.1.4-bin ./ij ij> connect 'jdbc:derby:testdb;create=true'; ij> CREATE TABLE mytable (mycol INT); ij> INSERT INTO mytable VALUES (1), (2), (3); ij> prepare p1 AS 'INSERT INTO MyTable VALUES (4)'; ij> execute p1; ij> CREATE INDEX i1 ON mytable(mycol); ij> execute p1; ij> exit;
Derby scripts
bin/dblook // Runs the dblook tool. bin/ij // Starts the ij tool. bin/NetworkServerControl // Runs NetworkServerControl. bin/setEmbeddedCP // Puts all of the Derby libraries for an embedded environment in the classpath. bin/setNetworkClientCP // Puts the libraries needed to connect to the Derby Network Server into the classpath. bin/setNetworkServerCP // Puts the libraries needed to start the Derby Network Server into the classpath. bin/startNetworkServer // Starts the Network Server on the local machine. bin/stopNetworkServer // Stops the Network Server on the local machine. bin/sysinfo // Runs the sysinfo tool.
相关链接
- Apache Derby http://db.apache.org/derby/
- IBM Cloudscape http://www-306.ibm.com/software/data/cloudscape/
- SUN Open Java DB