BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

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

| 作者 Josh Long 关注 7 他的粉丝 ,译者 张龙 关注 14 他的粉丝 发布于 2010年6月20日. 估计阅读时间: 4 分钟 | AICon 关注机器学习、计算机视觉、NLP、自动驾驶等20+AI热点技术和最新落地成功案例。

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所开发的H2Apache Derby(以前是IBM CloudScape),后者被引入到JDK 6当中,作为JavaDB

感兴趣的读者可以浏览HyperSQL站点以了解更多信息。

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

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

支持sequence么 by Shooter Evan

平时用oracle比较多,所以还是比较偏爱postgresql

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

1 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT