写点什么

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:182979
用户头像

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

关注

评论

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

什么?还不懂c++vector的用法,你凭什么勇气来的!

良知犹存

c++

LAXCUS 大数据集群操作系统:一个分布式分时共享 E 级系统软件(七)

陈泽云

人工智能 大数据 算法

DeFi质押挖矿系统开发技术

薇電13242772558

区块链 defi

mongodb 源码实现系列 - 网络传输层模块实现四

杨亚洲(专注MongoDB及高性能中间件)

MySQL 数据库 mongodb 高性能 分布式数据库mongodb

三千字轻松入门TensorFlow 2

计算机与AI

tensorflow 学习

第六周课后练习

balsamspear

极客大学架构师训练营

第六周总结

balsamspear

极客大学架构师训练营

甲方日常 49

句子

工作 随笔杂谈 日常

链表交集问题与DataNode宕机HDFS处理时序

garlic

极客大学架构师训练营

Github标星67.9k的微服务架构以及架构设计模式笔记我真的爱了

Java架构之路

Java 程序员 架构 面试 编程语言

高交会科技盛宴:“科技改变生活,创新驱动发展”

13530558032

C++多元组tuple使用方法?你熟悉吗?快来看看吧

良知犹存

c++

【Mycat】作为Mycat核心开发者,怎能不来一波Mycat系列文章?

冰河

分布式事务 分布式数据库 系统架构 分布式存储 mycat

WE大会上,科学家们是怎样治愈“小破球”的?

脑极体

利用下班时间,我两星期完成了redis入门与进阶

小松漫步

数据库 redis

多线程并发主题-ThreadLocalRandom类

公众号:程序猿成神之路

Java 并发编程 线程

我就是增发、健身、养猫、社交通通拥有的锦鲤本鲤

脑极体

面试,到底在考察什么?

程序员架构进阶

面试 方法论

《迅雷链精品课》第三课:区块链主流框架分析

迅雷链

区块链 区块链方案 区块链+ 区块链应用

高交会第一天,高新技术成焦点

13530558032

极客大学 - 架构师训练营 第八周

9527

[Pulsar 社区周报] 2020-10-31 ~ 2020-11-06

Apache Pulsar

大数据 开源

LAXCUS 大数据集群操作系统:一个分布式分时共享 E 级系统软件(六)

陈泽云

人工智能 大数据 算法

Serverless 是一种思想状态

donghui

Serverless

为什么我就面试阿里P6,好不容易过2面,3面来个架构师来吊打我?

小Q

Java 学习 程序员 架构 面试

“双11”购物狂欢节,所有女生走进了谁的直播间?

博睿数据

APM AIOPS 拨测 直播 用户体验

mPaaS 客户端问题排查之漫长的 3s 等待之谜

阿里云金融线TAM SRE专家服务团队

mPaaS

微众银行大数据平台建设方案

康月牙

大数据 开源 金融 平台 微众银行

【涂鸦物联网足迹】涂鸦云平台接口列表

IoT云工坊

人工智能 接口 物联网 API 智能家居

Pulsar Summit Asia 2020 | 场景案例论坛(上):多行业,多场景

Apache Pulsar

大数据 开源 Apache Pulsar

Oracle、NoSQL和NewSQL 数据库技术对比

VoltDB

数据库 大数据 数据分析 物联网

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