写点什么

HyperSQL 2.0:期待 5 年,新版本终于发布

  • 2010-06-19
  • 本文字数:1183 字

    阅读完需:约 4 分钟

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 站点以了解更多信息。

查看英文原文: HyperSQL 2.0 - New Release 5 Years In the Making <

2010-06-19 06:183312
用户头像

发布了 88 篇内容, 共 271.0 次阅读, 收获喜欢 9 次。

关注

评论

发布
暂无评论
发现更多内容

区块链+国防安全,科技是核心战斗力

CECBC

新技术 国防安全 科技信息

面经手册 · 第1篇《认知自己的技术栈盲区》

小傅哥

Java 面试 小傅哥 技术栈

海华大赛第一名团队聊比赛经验和心得:AI在垃圾分类中的应用

华为云开发者联盟

AI 算法 数据分析 垃圾回收机制 华为云

六字说出微服务的本质

看山

架构 微服务 签约计划第二季

新技术(区块链)--让游戏行业走的更远

CECBC

区块链技术 防篡改不可逆

一条更新sql在mysql中是怎么执行的

简爱W

架构师训练营第九周

Melo

我天!xx.equals(null) 是什么骚操作??

导导

智能的财务管理系统,来自某科技公司CEO亲手搭建

明道云

LeetCode002-两数相加-medium

书旅

算法 数据结构与算法

Twitter高性能分布式日志系统架构解析

俊俊哥

pulsar bookKeeper 分布式文件存储

腾讯安全领御区块链与张裕集团达成战略合作,打造高端葡萄酒区块链溯源平台

CECBC

产品溯源 无法篡改

架构师技术领导力成长之路

IT民工大叔

领导力 架构师

Spring Boot+Redis+拦截器+自定义Annotation实现接口自动幂等

我是苞谷

编程日课•理解学院

顿晓

学习 编程日课 理解学院

JVM系列之:通过一个例子分析JIT的汇编代码

程序那些事

Java JVM JIT 汇编

【华为云技术分享】DLI跨源|当DLI遇见MongoDB

华为云开发者联盟

数据库 mongodb dlib 数据集 华为云

刚坐下,一个面试官居然问了我 30个Spring Boot问题!

只喝纯牛奶

实践录丨如何在鲲鹏服务器OpenEuler操作系统中快速部署OpenGauss数据库

华为云开发者联盟

数据库 鲲鹏920 操作系统 服务器 opengauss

骚操作!用 CPU 烤肉,这位程序员做到了!

程序员生活志

程序员 gpu 程序人生

(政务上链)新数据孤岛、安全风险等问题待解

CECBC

工作效率 公开透明 新技术

功能扎实的ERP模版已上架应用库(支持免费安装使用)

明道云

java高并发系列 - 第11天:线程中断的几种方式

简爱W

给技术同学的建议:人人都该懂的埋点知识

易观大数据

埋点 智能运营

week8--课后作业

Geek_165f3d

策略模式解析

南方有乔木兮

LeetCode题解:189. 旋转数组,pop+unshift一行,JavaScript,详细注释

Lee Chen

大前端 LeetCode

实现扫码登陆的最简单方案与原理

Java小咖秀

Java 解决方案 经验总结

秒懂云通信:如何用阿里云语音通知服务(小白指南)

阿里云Edge Plus

语音

创业公司技术体系建设-CI/CD

星际行者

CI/CD

Spring系列第2篇:控制反转(IoC)与依赖注入(DI),晦涩难懂么?

老大哥

HyperSQL 2.0:期待5年,新版本终于发布_Java_Josh Long_InfoQ精选文章