学习hsql 内存数据库(1)

hsql 内存数据库
在hsql包中包含了可以用到的所有的操作,driver,tool等。
有几个内置swing/awt实现的管理工具可以通过command调用;java -cp hsqldb.jar <class tool path>:
class tool path:
org.hsqldb.util.DatabaseManager
org.hsqldb.util.databaseManagerSwing
org.hsqldb.util.Transfer
org.hsqldb.util.QueryTool
org.hsqldb.util.SqlTool

hsql有3中运行模式
Server Modes服务器模式
这种模式跟其他数据库一样,单独运行于jvm,listener一个端口。客户端可以根据服务器的运行模式通过不同的协议连接。
1.hsqldb server
首选的运行模式,也是最快的模式。用hsql私有的协议连接
eg: java -cp hsqldb.jar org.hsqldb.Server -database.0=mydb -dbname.0=myalias
通过-?查看参数帮助

2.hsqldb Web server
web服务模式,通过http协议连接。可以穿透防火墙。org.hsqldb.WebServer启动。具体看-?帮助。
3.hsqldb servlet server HsqlServlet
类似于web server,只能服务一个database, 需要借助于单独的web服务器(tomcat,resin)。

In-Process (Standalone) Mode线程内模式
跟应用程序在同一jvm运行,对大部分应用来说这种模式比较快的,不用通过协议的转换,和网络的传输。
缺点是外部程序不能访问到内部的server。好像1.8可以访问。文档中推荐解决的方法是在开发时开一个服务实例,在部署时再改为In-prosess mode;
eg:Connection c = DriverManager.getConnection("jdbc:hsqldb:file:/opt/db/testdb", "sa", "");

Memory-Only Databases内存模式,
完全存在于内存中,不会进行持久化。一般用于进行数据的交换。

关闭数据库
通过明确的的SHUTDOWN语句完成。当关闭时,所有的事物会roll-back。可以通过SHUTDOW COMPACT完成写入。

Different Types of Tables
TEMP临时表,since1.8好像改为了GLOBAL TEMPORARY。每个连接会有自己的temp表实例,在连接关闭时,会清空临时表数据。不会持久化。

MEMORY 默认的模式。在open时加载到内存中,会持久化。

CACHE持久化。大数据对象的时候。

TEXT持久化,csv文件








你可能感兴趣的:(jvm,应用服务器,Web,网络协议,HSQLDB)