在这篇文章中,我想向您介绍马克·罗特维埃尔,一位软件开发者和开源爱好者。

嗨,马克。你愿意自我介绍一下吗?
嗨,弗拉德。我叫马克·罗特维埃尔,今年39岁。我住在荷兰的代尔夫特。
我从青少年时期就开始编程,大约有12年的专业经验(最初是技术测试员,然后是开发人员)。
我的日常工作是荷兰最大的在线零售商bol.com的软件工程师。我的团队开发和维护了一系列用于向客户、第三方卖家和其他收件人(例如订单确认、运输等)发送自动消息(主要是电子邮件)的服务。
作为爱好,我维护Jaybird,Firebird JDBC驱动程序,并喜欢在Stack Overflow上回答与JDBC、Java、Firebird和其他数据库相关的问题。我是通过荷兰开放大学的数据库课程接触到Firebird的,并且一直保持着兴趣。我从2011年开始积极参与Jaybird和Firebird的开发。
与软件无关的爱好包括阅读(科幻和奇幻)和在Netflix上观看连续剧。
你正在为Firebird JDBC驱动程序做出贡献。你能告诉我们Firebird提供了什么,它与其他RDBMS相比如何?
Firebird是一个完整的具有小内存占用和良好性能的关系型数据库系统。它易于安装和使用(有人声称Firebird几乎不需要管理)。
它没有太多花哨的功能,Firebird有时在边缘略显粗糙,例如,对于管理,你有一个包含的命令行工具,但如果你需要一个漂亮的图形用户界面进行管理,你需要使用第三方GUI工具。
Firebird 在SQL支持方面提供了许多功能,人们有时会惊讶地发现它具有(递归的)公用表表达式和窗口函数。与其他数据库系统相比,它缺少一些较新的SQL功能,例如XML和JSON支持,以及像MATCH_RECOGNIZE和我想拥有的其他一些较小的SQL功能(但通常有解决方案)。
Firebird区别于其他数据库的另一件事是其嵌入式引擎:Firebird提供了一种嵌入式模式,它具有与正常Firebird服务器相同的特性集。Firebird嵌入式可以与大多数语言一起使用,包括Java。
LibreOffice也将转向Firebird嵌入式用于LibreOffice Base(打开实验性功能以使用它)。
我记得Firebird在Delphi编写的应用程序中非常常见。Firebird也适合企业应用程序吗?
Firebird大约在2000年从InterBase分支出来,当时——据我所知——Borland将InterBase包含在Delphi中。许多在Delphi中开发的软件针对InterBase,然后也免费支持Firebird。我从未在Delphi中活跃过,也没有使用过InterBase,但我相信转向Firebird是出于许可成本(即:没有)和更广泛的平台支持(我相信当时InterBase只针对Windows)的原因。
在适合企业使用方面,由于其MVCC架构,Firebird可以很好地扩展(尽管您可能需要调整配置,因为默认设置相当保守)。Firebird可以支持高达32 TB的数据库,所以大小也不是问题。它支持两阶段提交,允许分布式事务,并且支持增量备份。而且,如前所述,我认为它支持您需要的SQL功能中的大部分。总的来说,没有任何事情会阻止您使用Firebird进行企业应用程序的开发。
在我看来,目前真正“缺少”的只有数据库复制(这将在下一个版本Firebird 4中实现)。
当然,鉴于向微服务的转变,企业规模的意义正在从一个大型的数据库转变为许多(通常是较小的)数据库,因此,Firebird的小型占地面积可能是一个优势。
Hibernate还提供了一个Firebird方言。到目前为止,您在生产系统中使用过Firebird和Hibernate吗?
不幸的是,没有。在bol.com,我们不使用Firebird,而是使用PostgreSQL和Oracle。我在那里使用Hibernate,结合Spring Data JPA,它只需要正常工作。我喜欢工具不挡路的情况;;-)。
我使用Firebird仅用于原型设计和兼容性测试。这就是维护一个没有在日常工作中使用它的驱动程序的缺点之一。
我们始终重视社区反馈,因此您可以告诉我们您希望我们添加哪些功能,以便使其他数据访问框架更容易与JPA或Hibernate集成?
目前我实际上没有缺少什么,除了可能为Hibernate中的Firebird方言贡献改进以支持Firebird最近版本中添加的一些功能之外。
感谢您抽出时间,马克。能在这里见到您是我们莫大的荣幸。要联系马克,您可以关注他的Twitter。