一个新的开源项目VillageSQL应运而生。它是MySQL的一个分支版本,旨在提升其扩展性,并解决那些与人工智能及基于代理的工作负载日益相关的功能缺陷。
该项目由创始人Dominic Preuss宣布推出。VillageSQL Server for MySQL被定位为一种可直接替代MySQL的工具,它在保持与上游MySQL兼容性的同时,还增加了结构化的扩展框架。目前,其alpha版本已经可供测试使用。
该项目的主要目标是推动“无限制的创新”。与支持插件的MySQL不同,VillageSQL提供了一种更为完善的扩展模型,用户可以利用这种模型将自定义的数据类型、函数乃至索引打包成可直接安装在数据库引擎中的组件。
这些扩展模块可以以外部仓库的形式存在,也可以被编译成动态库。管理员只需将相应的扩展文件放置在指定目录中,然后运行INSTALL EXTENSION这条SQL命令,即可完成安装。这种设计旨在让VillageSQL的扩展机制类似于PostgreSQL、Jenkins或Grafana等项目中的扩展生态系统——在这些系统中,社区成员可以独立于核心版本的更新周期来发布和开发新的功能。
这个项目的推出正值人们正在讨论MySQL在现代软件开发中应该扮演何种角色的时候。最近,技术创新主要集中在PostgreSQL上,因为后者拥有强大的扩展框架和完善的社区治理机制。此外,以人工智能为驱动的工作负载,尤其是那些需要向量搜索功能的场景,也提出了新的需求,而这些需求是标准版的MySQL所无法满足的。
VillageSQL的发展路线图中包括了对向量索引的支持以及优化的向量搜索功能。在最初的alpha版本中,已经包含了几个示例性的扩展模块,这些模块支持处理UUID、网络地址类型(IPv6和MAC)、加密函数、复数类型,以及基于SQL的人工智能提示功能。
项目的维护者们表示,目前这个项目还处于早期开发阶段,主要是用于供人们进行测试和提供反馈,而非直接用于生产环境。官方发布的路线图详细说明了迈向正式发布版本的规划步骤。
社区成员已经开始对VillageSQL进行测试。数据库专家Dave Stokes在他的博客中评论道:
看到MySQL有一个新的分支版本,真是件令人高兴的事。代码质量很高,文档也做得非常好,让我非常感兴趣。这样的项目确实有潜力赢得MySQL社区成员的认可——毕竟这个社区最近经历了一些挫折。
VillageSQL是以开源形式发布的,开发者们可以通过GitHub以及社区渠道来参与这个项目的发展。这个项目能否取得成功,很大程度上取决于那些希望在保持MySQL生态系统兼容性的同时提升系统扩展性的开发者的接受程度。