`

类似hsqldb的好东西:h2 database

    博客分类:
  • db
阅读更多
不记得是哪个在坛子里推荐过h2 database, 当时的印象就是Embedded 模式下性能很好,不过我用hsqldb之类完全是为了测试和方便,对速度倒是没什么要求,就没太留意。

今天去h2 database的首页, 把Tutorial 和 Features看了看, 发现h2还真的好用, 功能很强大。

除了跟hsqldb一样, 有server,Embedded ,in-memory模式之外, 它还有一个很不错的web端的console,启动也很简单只需要运行/bin/h2.bat。

Server模式,更是可以在程序中启动:

import org.h2.tools.Server;
...
// start the TCP Server
Server server = Server.createTcpServer(args).start();
...
// stop the TCP Server
server.stop();


对于hibernate也是支持的,不过我看到hibernate3.2中并没有对应h2的dialect,还好h2的源代码中提供了:

引用

For versions where the dialect is missing, you need to copy the file into the folder src\org\hibernate\dialect (Hibernate 3.1), rename it to H2Dialect.java and re-compile hibernate.


我将之前的一个应用的Embedded hsqldb更换成h2, 相当简单,只更改了如下配置:

hibernate.connection.url=jdbc:h2:file:test

hibernate.connection.driver_class=org.h2.Driver

hibernate.dialect=h2.dialect.H2Dialect #这个是我另外编译到自己的package的

再将hibernate的自动建表打开:hibernate.hbm2ddl.auto=create

ok,很吸引人的吧。



再看看h2的新特性:

引用


Comparison to Other Database Engines
Feature H2 Derby HSQLDB MySQL PostgreSQL
Pure Java Yes Yes Yes No No
Embedded Mode (Java) Yes Yes Yes No No
Performance (Embedded) Fast Slow Fast N/A N/A
In-Memory Mode Yes No Yes No No
Transaction Isolation Yes Yes No Yes Yes
Cost Based Optimizer Yes Yes No Yes Yes
Clustering Yes No No Yes Yes
Encrypted Database Yes Yes No No No
Linked Tables Yes No Partially *1 Partially *2 No
ODBC Driver Yes Yes? No Yes Yes
Fulltext Search Yes No No Yes Yes
User-Defined Datatypes Yes No No Yes Yes
Files per Database Few Many Few Many Many
Table Level Locking Yes Yes No Yes Yes
Row Level Locking No Yes No Yes Yes
Multi Version Concurrency Yes No No No Yes
Role Based Security Yes Yes *3 Yes Yes Yes
Updatable Result Sets Yes Yes No Yes Yes
Sequences Yes No Yes No Yes
Limit and Offset Yes No Yes Yes Yes
Temporary Tables Yes Yes *4 Yes Yes Yes
Computed Columns Yes No No No Yes *6
Case Insensitive Columns Yes No Yes Yes Yes *6
Custom Aggregate Functions Yes No No Yes Yes
Footprint (jar/dll size) ~1 MB *5 ~2 MB ~600 KB ~4 MB ~6 MB

可以看出,h2支持集群、事务隔离、全文搜索、Sequence,这些hsqldb都不具备
分享到:
评论

相关推荐

    hsqldb.jar

    hsqldb.jar

    H2 database

    H2数据库,非常好的内存数据库。 H2的优势: 1、h2采用纯Java编写,因此不受平台的限制。 2、h2只有一个jar文件,十分适合作为嵌入式数据库试用。 3、性能和功能的优势 H2比HSQLDB的最大的优势就是h2提供了一个十分...

    H2DB使用文档

    其中H2, HSQLDB类似,十分适合作为嵌入式数据库使用,其它的数据库大部分都需要安装独 立的客户端和服务器端。2.H2的优势: 1、h2采用纯Java编写,因此不受平台的限制。 2、h2只有一个jar文件,十分适合作为嵌入式...

    Android代码-h2database

    Welcome to H2, the Java SQL database. The main features of H2 are: Very fast, open source, JDBC API Embedded and server modes; in-memory databases Browser based Console application Small footprint: ...

    java8看不到源码-hsqldb:带有HSQLDB的Docker容器

    发布:blacklabelops/hsqldb:latest 安装的软件: Java 8 数据库 SQL工具 让它简短 简而言之,使用此映像在您的开发环境中启动和停止一个简单的 HSQLDB。 $ docker run -d -p 9001:9001 --name hsqldb blacklabelops...

    hsqldb-example:在内存中使用数据库,hsqldb的用法

    hsqldb示例在内存中使用db,hsqldb的用法。

    HSQLDB-Research:HSQLDB数据库源代码学习研究(包括代码注释,文档,用于代码分析的测试用例)

    src:HSQLDB数据库的最新源代码,在源代码中附加了轻松分析理解代码的注释 把代码引入Eclipse 运行mvn eclipse:eclipse生成Eclipse项目,打开Eclipse,选择File-> Import-> Existing Projects into Workspace 运行...

    mysql jdbc driver

    MySql数据库的JDBC驱动,使用Java操作数据库需要用到的jar包!

    hsqldb-jpa:专为与关系数据库HSQLDB HyperSQL数据库提供JPA集成而设计的项目

    hsqldb-jpa ========== 该项目旨在提供与关系数据库HSQLDB HyperSQL数据库的JPA集成。 本示例使用Hibernate / JPA 4.x 列出待办事项: 建立其他关系

    hsqldb-2.3.1:我的项目只需要库文件

    ##Only 我的项目所需的库文件。

    hsqldb使用(转载)

    hsqldb确实是个好东西,对于系统演示,开发等都很方便。

    hsqldb-1.8.0.7.jar

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

    mondrian-data-foodmart-hsql.rar

    Mondrian是一个用Java写成的ROLAP引擎,是开源项目Pentaho的一部分。它实现了 MDX语言、XML解析、JOLAP规范。它从SQL 和其它数据源读取数据并把数据聚集在内存缓存中,然后经过Java API用多维的方式对结果进行展示,...

    HSQLDB中文帮助文档

    Hsqldb 是一个优秀的轻量级开源的纯Java SQL 数据库。 大家可以从Hsqldb 官方网站(http://hsqldb.org)获取到Hsqldb 的发布包、源代码和文档。

    hajdbc-spring-boot

    location: jdbc:hsqldb:mem:db1 user: sa - id: db1 location: jdbc:hsqldb:mem:db1 user: sa spring: datasource: url: jdbc:ha-jdbc:default username: sa 属性文件配置 hajdbc.driverDatab

    HSQLDB用户手册

    HyperSQL User Guide HyperSQL Database Engine (HSQLDB) 2.2 hsqldb-2.2.9用户手册

    HsqlDBembeddedOOo:嵌入式HsqlDB驱动程序

    要在非压缩(拆分)模式下使用嵌入式HsqlDB,使用您选择的HsqlDB驱动程序版本,该模式更加健壮。 要将数据从嵌入式数据库(odb文件)迁移到功能齐全的HsqlDB驱动程序: ,请参阅: 。 HsqlDBembeddedOOo仅在拆分...

    JPABasis:具有Eclipse Link和HSQLDB的Maven + Eclipse + JPA

    JPA基础 带有Eclipse Link和HSQLDB的Gradle + Eclipse + ... 使用以下命令行(进入HSQLDB的lib目录)启动数据库服务器:java -cp hsqldb.jar org.hsqldb.Server 要求Gradle解决依赖关系:gradle build 运行主类:App

    hsqldb实例源代码

    简单的创建两个例子,如何创建hsqldb,如何使用hsqldb查询数据等。

    hsqldb jdbc driver

    hsqldb jdbc driver适合于hsqldb

Global site tag (gtag.js) - Google Analytics