`

HyperSQL 2.0

 
阅读更多
HyperSQL 2.0于本月7日发布了。此次发布距HSQLDB 1.8的发布已有5年光阴了。HSQLDB 1.8已与很多工具、框架和应用实现了集成,包括使用广泛的OpenOffice 3.2产品套件,它为用户提供了一个嵌入式数据库,这样除了Microsoft Access之外,用户又多了一个选择。HyperSQL是用纯Java编写的,基于BSD许可。

相对于其他开源数据库引擎来说,新版本的HyperSQL引入了更多的特性。它首度加入了新的SQL功能、增强的可伸缩性、查询优化以及其他一些新特性。

HyperSQL的核心完全是多线程的,支持双向锁和MVCC(多版本并发控制),这两个手段都是为了解决对数据库资源的并发访问问题。其他数据库如PostgreSQL也使用了MVCC。除了已经支持的事务控制模式SERIALIZABLE和READ COMMITTED以外,HyperSQL 2.0还增加了对REPEATABLE READ和READ COMMITTED隔离级别的支持。

主要的组件(包括SQL探测器和解析器)都已经重写了,几乎完整支持ANSI-92 SQL和SQL:2003以及众多的SQL:2008特性(包括很多可选的扩展),现在已经支持很多新的表达式和结构,如BETWEEN字句、OVERLAPS谓词、多列IN表达式、MERGE语句和MATCHES谓词。此外,HyperSQL 2.0在SQL和Java语句中都支持完整的触发器定义语法以及只读和可更新视图。HyperSQL 2.0还增加了对SEQUENCE类型的支持以缓解唯一数生成器的负担。新的版本支持各种数据类型,包括BIT类型、CLOB、BLOB和SQL标准的INTERVAL类型,此外还增强了TIME支持,包含了带小数点的秒,同时也支持时区。HyperSQL 2.0增加了Array类型,并且可以通过该类型组合大多数其他的类型。此外,引擎还在JOIN字句、WHERE字句、IN查询和聚合函数如MIN、MAX和ORDER BY表达式中利用了索引。新版本支持存储过程和函数。存储过程语言还支持过程式接口,如WHILE循环、IF、CASE WHEN和异常处理语句以及聚合函数。这些函数可以在SQL和Java中定义。如果使用Java、那么还可以利用多态。

HyperSQL 2.0的一些小变化简化了管理和使用。新版本为常用类型增加了存储大小(最大为256GB),还增加了对BLOB和CLOB数据的支持,最高支持达64T的数据量。它更新了一个兼容于JDBC 4.0的驱动并增加了对Java 1.6的支持。值得关注的是,HyperSQL 2.0现在支持Statement和PreparedStatement接口的getGeneratedKeys()方法,这样就能更加轻松地使用ORM工具了。

总之,HyperSQL 2.0包含了大量的特性。实践证明,该项目非常适合于测试环境,同时也是一个不错的嵌入式数据库。HyperSQL似乎占据了大多数份额,但也面临着很多挑战,如由HyperSQL之前的创建者Thomas Mueller所开发的H2、Apache Derby(以前是IBM CloudScape),后者被引入到JDK 6当中,作为JavaDB。HyperSQL 2.0
分享到:
评论

相关推荐

    HyperSQL_User_Guide.pdf

    此文档为HyperSQL用户指南,覆盖了最新版本2.0的相关内容,并且该文档会定期更新和完善。如果在使用过程中发现任何错误或遇到问题,可以通过HSQLDB的支持设施进行反馈,这些支持资源可以在官方网站...

    Hypersql的源码修改

    Hypersql,也称为HSQLDB,是一个开源的关系型数据库管理系统,主要用Java编写,因此在处理Java应用时尤其方便。源码修改是开发者深入理解系统内部运作、优化性能或扩展功能的重要手段。在这个项目中,我们针对...

    HyperSQL-开源

    HyperSQL就像是用于SQL的doxygen加javadoc一样,将SQL视图,包,过程和函数映射到HTML源代码列表,并显示使用这些代码的所有代码位置。

    HyperSQL Database Engine (HSQLDB)-开源

    **HyperSQL Database Engine (HSQLDB)** 是一个完全开源的、用Java编写的数据库管理系统,其设计目标是提供高效、轻量级的解决方案,适用于多种应用场景。HSQLDB支持最新的ANSI SQL标准,即SQL:2016,这意味着它...

    HSQLDB快速上手实录

    HSQLDB(HyperSQL Database)是一款基于Java编写的轻量级关系型数据库管理系统,它不仅具备高性能、易用性,而且支持标准的SQL语法及多种高级特性,非常适合用于开发、测试以及小型应用场合。本文将详细介绍如何从零...

    Tomcat Valve JDBC with HyperSQL-开源

    一个监控应用程序,它通过 Valve 注册到/来自 Tomcat 的每个 Http 请求和响应,并将信息存储到 HyperSql 数据库中。 一个监控工具,HyperSQL UI 显示请求和响应的信息。

    H2嵌入式数据库

    **H2嵌入式数据库详解** H2数据库是一款开源、高性能、轻量级的Java数据库管理系统,它支持多种模式,包括单用户模式、服务器模式、内存模式和嵌入式模式。在嵌入式模式下,H2数据库可以直接作为应用程序的一部分...

    tutorial-connection-pooling:一个演示 DBCP(数据库连接池)的 Maven 项目

    4. **HyperSQL数据库**:HyperSQL是一款开源的、高性能的关系型数据库管理系统,特别适合于内存数据库。在本示例中,它作为测试数据库,因为它的启动速度快,内存占用少,非常适合演示和学习目的。 5. **配置DBCP**...

    hsqldb小型数据库

    HSQDDL(HyperSQL Database)是一款轻量级、高性能的开源关系型数据库管理系统,通常简称为HSQDB。它被广泛应用于快速开发和测试环境中,因其小巧的体积、高效的速度以及对Java平台的良好支持而受到青睐。 HSQDB的...

    hsqldb-2.3.2.zip

    HyperSQL是用Java编写的一款SQL关系数据库引擎 它的核心完全是多线程的 支持双向锁和MVCC 多版本并发控制 几乎完整支持ANSI 92 SQL 支持常见数据类型 最新版本增加了对BLOB和CLOB数据的支持 最高支持达64T的数据量 ...

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

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

    Database 用的jar 包

    这个JAR文件包含了HyperSQL的Java驱动,使得Java应用程序能够通过JDBC(Java Database Connectivity)接口连接到HyperSQL数据库。 接着,`mysql-connector-java-3.1.13-bin.jar`是用于连接MySQL数据库的驱动程序。...

    跟jdbc相关的一些类库

    总结来说,这些类库提供了与不同数据库系统(如SQL Server、HyperSQL和PostgreSQL)交互的桥梁,使得Java开发者可以通过统一的JDBC接口进行数据库操作,无需关心底层数据库的具体实现细节。这极大地提高了代码的可...

    开源数据库软件hsqldb

    博文链接:https://newdebug.iteye.com/blog/80868

    HSQLDB用户手册

    #### 一、HyperSQL Database Engine (HSQLDB) 概述 - **版本信息**:此手册是针对HSQLDB 2.2版本编写的,具体版本号为hsqldb-2.2.9。 - **编辑者**:该手册由Blaine Simpson与Fred Toussi共同编辑。 - **版权说明**...

    botdetect依赖包

    这是HyperSQL数据库(HSQLDB)的JAR文件,它是一个轻量级、纯Java关系型数据库引擎。HSQLDB常被用作开发测试环境或嵌入式应用的数据存储,因为它的体积小、速度快。在BotDetect的场景中,可能用于存储和管理检测到...

Global site tag (gtag.js) - Google Analytics