jOOQ星期二:Thomas Muller揭露HSQLDB如何演变成流行的H2数据库

欢迎来到jOOQ Tuesdays系列。 在本系列中,我们每隔一个月的第三个星期二发布一篇文章,从jOOQ的角度采访我们发现该行业令人兴奋的人。 这包括从事SQL,Java,开放源代码以及其他各种相关主题的人员。 tom_grayscale

我们很高兴在第五版中与ThomasMüller交谈,他将向我们介绍Java 最受欢迎的嵌入式数据库H2的令人兴奋的历史。

嗨,托马斯–您的H2数据库几乎无处不在。 它已成为许多Java开发人员最喜欢的集成测试数据库。 它如何如此受欢迎?

我猜是因为它易于使用,相对较快,并且在某种程度上可以与流行的数据库兼容。

我了解您在HSQLDB(以前也称为Hypersonic SQL)中有一个共同的个人历史记录。 H2如何以及为何从HSQLDB演变而来?

早在1998年,我就想学习Java。 为了好玩,我实现了一种相对较新的跳过列表算法,添加了一个SQL接口,并将其作为开源发布。 我从认为有用的人那里得到了反馈,所以我继续并将其命名为Hypersonic SQL。 2000年,我从硅谷的一家初创公司PointBase Inc.获得了工作机会。该计划是继续使用Hypersonic SQL,并将其保持开源。 但是,当我开始工作后,公司决定最好停下来。 这让我感到惊讶。 我告诉他们我不能阻止其他人继续。 因此,Fred Toussi接受了代码,并使用它启动了HSQLDB。 在2005年左右,PointBase的钱用光了,我想回到HSQLDB。 但是我觉得还需要更根本的改变,最好是开始一个新项目,那就是H2。

非常有趣的历史事实! …什么时候在JDK中替换Derby / JavaDB? :-)

希望永远不会! 如果将H2集成到JDK中,Oracle将对H2的未来施加限制。 我不要 我想保持H2独立。

您进入数据库行业已有一段时间了。 您想分享的最有趣的轶事是什么?

当甲骨文收购MySQL时,我感到非常惊讶,我收到了一封来自欧盟​​的邮件,询问了有关合并的信息,这将如何影响行业和竞争。 我不知道他们是如何找到我的工作地址的,该地址不在网站上,他们也从未通过电子邮件询问我。 瑞士甚至不属于欧盟的一部分。 H2在“数据库池”中是一条很小的鱼,但似乎H2确实很重要。

我想这是一个小世界或一个小池塘!

您是我所知的少数几个同时在SQL数据库(H2)和NoSQL数据库(JackRabbit,Adobe CRX)上工作的开发人员之一。 告诉我们一些有关这些数据库比较的信息。

他们是完全不同的。 H2是具有传统SQL和JDBC API的关系数据库,而Jackrabbit是文件系统和数据库(具有非常不同的API)和分层数据模型之间的混合体。 查询语言也不同:对于Jackrabbit,XPath更常用,甚至认为SQL也可用。 关系模型和层次模型都具有优点和缺点。 分层模型更容易支持半结构化JSON样式数据。 另一方面,关系模型更“成熟”,竞争更加激烈。

在Adobe / JackRabbit,您将大量参与以Java实现存储算法的工作。 JVM是否甚至擅长实现底层存储?

是! Java的真正优势在于,程序员可以专注于算法,而不必花费太多时间进行内存管理和低级工作。 这样,就有更多的时间来改进算法。 在关系数据库中,最重要的方面是使用最佳的算法,例如减少I / O。 即使对于数据处理和加密等非常低级的CPU密集型内容,如今的并发性和缓存效率等问题也比使用Java或C更为重要。

在避免过早优化的过程中,这是一个有趣的想法!

最后一个问题:您现在正在处理哪些问题?

针对固态磁盘(SSD)和新文件系统优化数据库。 几乎所有关系数据库仍然使用针对旋转磁盘优化的算法,在这种方法中,覆盖小块(例如4 KB)是必须的。 使用SSD和Btrfs不能很好地工作。 H2版本1.4.x(测试版)已经使用了可以正常运行的新存储子系统(MVStore),但是在准备投入生产之前仍需要进行一些工作。

除了数据库之外,我还对各种编程主题感兴趣。 如果我实现了可能有用的功能,则将其作为H2数据库项目中的开源发布在“工具”目录中,直到将其用于数据库中或移至另一个项目为止。 我写了一个名为“ ArchiveTool”的归档实用程序(如zip,gzip),它将重复数据删除与常规压缩结合在一起。 它速度很快,但是可以很好地压缩大型目录(源代码,数据库)。 作为新存储子系统工作的一部分,我遇到了最小的完美哈希表。 我发明了一种新算法,所需空间比所有已知算法都要少(“ MinimalPerfectHash”)。 我想发表有关这方面的论文。 有很多有趣的问题要解决。

翻译自: https://www.javacodegeeks.com/2015/08/jooq-tuesdays-thomas-muller-unveils-how-hsqldb-evolved-into-the-popular-h2-database.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值