【Derby 系列】[初级-3] Apache Derby 组成


前言: 本篇是derby系列的第4篇(0-3),描述Apache Derby的3个重要组成。

组成1. Apache Derby Database Engine,数据库引擎。
   数据库引擎是Derby的核心,就如汽车飞机的发动机一样。Derby的数据库引擎提供了强大丰富的数据库功能,在上一篇已经列举了。
   同时,由于用Java写成(derby.jar),derby的database engine可以很容易地嵌入到Java应用中,给Java应用开发带来了灵活性。
   Derby数据库引擎的嵌入式用法,要求应用程序和derby engine处于同一个JVM中,随着应用程序的运行,JVM同时加载Derby engine。
   当应用程序的宿主JVM终止时,Derby engine也随之shutdown。
   (X) 一个常见的误解是,认为嵌入式使用Derby时,只能单用户访问,只支持单连接。
   (Y) 只要在和Java应用的同一个JVM内,可以有任何多个用户连接。因为JVM支持多线程,运行Derby引擎的JVM内的任何线程,都可以并发的访问derby 数据库。


   image

使用嵌入式Derby 数据库引擎, 需要在classpath环境变量中包含如下jar 件 。

  • derby.jar: 包含 Derby engine 和Derby Embedded JDBC driver
  • derbytools.jar: 可选, 包含 Derby tools,ij等


  


组成2. Apache Derby Network Server,网络服务器。
    在Derby数据库引擎基础上提供的传统client/server方式应用。应用程序和derby 运行在不同进程,不同JVM中,甚至不同物理机器。
   客户端程序可以通过TCP/IP协议访问Server.
   在运行Derby的JVM进程之外的其他进程(同一个物理机器或者不同机器),访问derby 数据库,都需要加载使用Derby Network Server.
   Derby Network Server 允许JVM进程间的通信,不仅仅是不同的机器之间,也包括意图访问同一个derby 数据库的同一机器上的不同JVM进程之间的通信。
   Derby数据库引擎自带了一个JDBC driver(Apache Derby Network Client),用来应用Apache Derby Network Server功能。

 

image

 

启动或关闭derby network server, 需要在classpath环境变量中包含如下jar 件 。

  • derby.jar: 包含 Derby engine 和Derby Embedded JDBC driver
  • derbynet.jar: 包含Derby Network Server
  • derbytools.jar:  可选, 包含 Derby tools,ij等



组成3. Apache Derby JDBC Scriping Tool -- ij 工具。
    ij, 是Derby 提供的基于JDBC的脚步工具,可以通过它执行SQL语言脚本和语句,完成derby 数据库操作。
   (X)使用ij的一个常见错误和上面提到的JVM 进程通信有关。一个嵌入式Derby 数据库引擎的Java应用运行中,如果要使用ij进行数据库数据操作,需要加载by Network Server.
        否则会出现访问错误。因为ij 是一个java应用,他运行在自己的JVM进程之中。

 

// ij 的一个例子,创建MyDbTest数据库
java org.apache.derby.tools.ij
ij> connect 'jdbc:derby:/home/bill/databases/MyDbTest; create=true'
ij>
ij> create table derbyDB(num int, addr varchar(40));
ij> insert into derbyDB values (1956,'Webster St.');
ij> insert into derbyDB values (1910,'Union St.');
ij> update derbyDB set num=180, addr='Grand Ave.' where num=1956;
ij> select * from derbyDb;
ij> disconnect;
ij> exit;

 

总结:
理解Derby的嵌入式和网络服务器两种框架结构十分重要,在后续篇幅中将会进一步详细阐述。
掌握Apache Derby自带的tools,对于应用derby也十分有用。最常用的工具包括ij, sysinfo,dblook.

下一篇内容将涉猎Derby数据库的结构,文件系统等内容,也包括ij的一些用法,内容较多,计划2008/12/30日前完成。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值