Derby数据库简单介绍和使⽤⽅法
引⾔
从软件⾓度来说,数据库分类为两种:
第⼀种:数据库服务器(Database Server)
第⼆种:嵌⼊式数据库(Embedded Database)
像 Oracle、PostgreSQL、MySQL 和 SQL Server 等这些⼤家熟知的数据库,我们⼀般称它为数据库服务器,当然也不排除某些数据库也提供嵌⼊式版本,例如 MySQL Embedded 就是⼀个嵌⼊式的数据库。
⽽像 SQLite、Berkeley DB、Derby、H2、HSQL DB 等数据库,⼀本内嵌在应⽤程序中,与应⽤程序⼀起运⾏,我们称它为嵌⼊式数据库。
嵌⼊式数据库跟数据库服务器最⼤的区别在于它们运⾏的地址空间不同。通常,数据库服务器独⽴地运⾏⼀个守护进程(daemon),⽽嵌⼊式数据库与应⽤程序运⾏在同⼀个进程。
在实际开发中,平时接触最多的应该是数据库服务器,对嵌⼊式数据库使⽤的⽐较少。最近学习nacos,其底层所⽤存储是derby,本⽂主要介绍derby数据库.
⼀、 Derby 数据库介绍
Apache Derby 是100% Java 编写的内存数据库,属于 Apache 的⼀个开源项⽬。并且是⼀个容易管理的关系数据库管理系统,可以和⼀些商业产品的特性进⾏交付。
Apache Derby 是⼀个与平台⽆关的数据库引擎,它以 Java 类库的形式对外提供服务。与其他难以部署的数据库不同, Derby 数据库体积⼩、安装⾮常简单,只需要将其 *.jar ⽂件复制到系统中并为⽤户的项⽬添加该 *.jar ⽂件即可。
⼆、 Derby 数据库的两种运⾏模式
数据库简单吗1)内嵌模式。Derby数据库与应⽤程序共享同⼀个JVM,通常由应⽤程序负责启动和停⽌,对除启动它的应⽤程
序外的其它应⽤程序不可见,即其它应⽤程序不可访问它;
2)⽹络模式。Derby数据库独占⼀个JVM,做为服务器上的⼀个独⽴进程运⾏。在这种模式下,允许有多个应⽤
程序来访问同⼀个Derby数据库。
三、可以从许多技术⽅⾯来区分 Derby 和其他数据库系统
Derby 易于管理。当嵌⼊到客户机应⽤程序中时, Derby 系统不需要任何管理⼲预。
Derby 是可嵌⼊的。应⽤程序可以将数据库管理系统( Database Management System , DBMS )引擎嵌⼊应⽤
程序进程中,从⽽⽆需管理单独的数据库进程或服务。通过⽹络服务器( Network Server )架构或您选择的服务器架构,可以将 Derby 作为单独的进程来运⾏。
Derby 是⼀个纯 Java 的类库:对于 Java 开发⼈员,这点⼗分重要,因为他们正试图维护 Java 技术的优点,
例如平台⽆关性、易于配置以及易于安装。
Derby 不需要专有的 Java 虚拟机( Java Virtual Machine , JVM )。因为完全是⽤ Java 语⾔编写的,所以
它适应所有合格的 JVM 。
DerbyDBMS 引擎是轻量级的。类⽂件⼤⼩⼤约是 2MB ,并且只使⽤了 4MB 的 Java 堆。
Derby ⽀持使⽤ Java 编写存储过程和函数,这些存储过程和函数可以在应⽤程序的任何层上运⾏。 Derby 没有
专⽤的存储过程语⾔,它使⽤ JDBC 。
四、 Derby 数据库的优缺点
1 、 Derby 定位是⼩型数据库 , 特别是嵌⼊式 . ⽀持的数据库⼩于 50GB, 对于⼩型⽹站 , 事务不复杂的应⽤
, 使⽤它的还是很不错的 . 另外⼤型桌⾯应⽤也可以⽤它来保存配置和其他数据 , 可以做到与⽂件格式⽆关 ,
因为都是访问数据库 .
2 、功能: Derby ⽀持标准 SQL92, SQL1999, SQL2003, ⽀持临时表 , 索引 , 触发器 , 视图 , 存储过程 ,
外键 , 约束 , 并⾏ , 事务 , 加密与安全等 . 只要有 JDK(>=1.3), 就可以运⾏ Derby.
3 、安全性: Derby 的安全性也做得很到位 , 包括⽤户鉴权和加密解密 .
4 、性能: Derby 的性能也是不错的 . 在插⼊ 100 万条记录时 , CPU 的占⽤率⼀直低于 40%, 平均每插⼀条
记录耗时⼩于 0.3 毫秒 . 这对于满⾜桌⾯应⽤程序是绰绰有余的 . 但是⽐ Oracle 、 MySql 等专业数据库性
能要低
五、使⽤⽅法
1、安装Derby数据库
只需要从Derby官⽅⽹站下载Derby的zip或者tar包,解压就可以了。这⾥以db-derby-10.4.1.3-bin版本为例,解
压后得到以下⽬录:
1) bin⽬录,包含了⼀些⼯具脚本和设备环境的脚本;
2) demo⽬录,包含了⼀些实例程序;
3) docs⽬录,包含了Derby的⽂档;
4) javadoc⽬录,包含了Derby的API⽂档;
5) lib⽬录,包含了Derby数据库的jar⽂件;
6) test⽬录,Derby的⼀些测试jar包;
2、使⽤ij脚本
1)运⾏内嵌模式的Derby数据库
在命令⾏中到bin⽬录,使⽤输⼊ij使⽤ij⼯具(或单击ij.bat后启动ij⼯具)。然后通过如下命令创建数据库,并与数据库创建连接:
connect ‘jdbc:derby:firstdb;create=true';
(通过connect命令可以与指定数据库创建连接,通过⼀个JDBC URL来指定与哪个数据库创建连接。ij命令是不区分⼤⼩写的。参数中jdbc:derby是Derby数据库的驱动协议;firstdb是数据库名称,由于没有指定路径,数据库将会被创建在当前你命令⾏下所在的⽬录下;create=true表⽰如果数据库不存在,则
创建该数据库;";"是ij命令的终⽌符。当数据库创建成功时,Derby会在当前你命令⾏下所在的⽬录下创建⼀个与数据库命⼀致(这⾥是firstdb)的⽬录,其中存放了数据库的⽂件。)
与数据库连接上后,就可以开始执⾏SQL脚本了,如创建⼀个表格:
create table firsttable(id int primary key, name varchar(20));
然后插⼊记录:
insert into firsttable values(1, ‘Hotpepper');
也可以执⾏查询:
select * from firsttable;
也可以通过run命令来执⾏sql⽂件:
run 'E:/derby/demo/ToursDB_schema.sql';
最后通过exit;来退出ij⼯具。
你可以在当前你命令⾏下所在的⽬录中到⼀个derby.log的⽇志⽂件,derby在其中记录的数据库启动、关闭的信息。
2)运⾏⽹络模式的Derby数据库
这种模式下,需要使⽤两个控制台窗⼝,⼀个⽤于启动Derby数据库服务端,另⼀个做为访问Derby数据库的客户端。需要在命令⾏进⼊bin ⽬录,运⾏startNetworkServer.bat启动数据库服务器,另⼀个端⼝跟运⾏内嵌模式的Derby数据库类似,只是连接的命令不同:
connect 'jdbc:derby://localhost:1527/G:/CSESI_DATA/CSESI;create=true';
(其中localhost:1527是本地和端⼝号,后⾯的是G盘某个数据库,也可以是⽹上的)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论