随着 MariaDB 11.6 的发布,MariaDB 基金会宣布了公开预览的向量(Vector)搜索,以用于开源 fork 的 MySQL 引擎。数据库专家和开源倡导者认为向量搜索是 MariaDB 引领 MySQL 生态系统的一个机会,尤其是在甲骨文公司只为其企业版保留了大部分新特性的情况下。
根据发布公告,特性完备的 MariaDB 11.6 向量版本预计在几个月内发布,向量功能将会在 MariaDB 11.7 及以后的版本中全面可用。与 MySQL 9.0 目前提供的不带索引(Indexes)的新向量类型不同,MariaDB 没有提供专门的数据类型,但是引入了专门的索引以及 VEC_ToText 和 VEC_FromText 函数,这是向量存储的新可选方案。
向量搜索是基于行业标准 HNSW 算法实现的,新的 MariaDB Vector(也就是在今年早些时候 FOSDEM 上演示的 LLM 存储引擎)即将成为标准 MariaDB 服务器的一部分。
MariaDB 基金会首席执行官 Kaj Arnö 这样写到:
我们与 MySQL 服务器中的向量支持(称为 Heatwave)的差异在于,我们的向量搜索是开源的。实际上,与 MySQL 不同的是,我们仍然缺少一个单独的向量数据类型,不过我们会在正式发布前添加该数据类型。
Percona 创始人、开源倡导者 Peter Zaitsev 评论说:
显然,这个项目还处于早期阶段,但是它展示了一个重要的现象,那就是,在对现代开发人员至关重要的向量搜索方面,MariaDB 击败了甲骨文 MySQL。我很好奇甲骨文公司会有什么反应。它是否会迫使甲骨文在 MySQL 社区版中采用向量搜索,还是甲骨文不再关心他们的开源版本是否会受到现代开发者青睐?
Arnö补充道:
我们不仅要帮助 MariaDB 服务器的用户,还要帮助 MySQL 服务器的用户能够轻松地以开源方式采用向量功能。我们一直认为,从 MySQL 服务器迁移到 MariaDB 服务器非常容易,而获得向量功能则是迁移的一个重要原因。
向量搜索的实现是 MariaDB plc 员工、MariaDB 基金会和其他贡献者(尤其亚马逊云科技,它是 MariaDB 最新的支持者之一)共同努力的结果。
随着生成式 AI 工作负载越来越流行,MariaDB 并不是唯一一家致力于支持向量搜索的关系型数据库。正如 InfoQ 此前报道的那样,谷歌和亚马逊云科技已经在其托管的 RDBMS 中引入了这一选项,而 MySQL 9.0 则是首个支持向量搜索的甲骨文产品。此外,PlanetScale 去年宣布计划 fork MySQL,以增加向量搜索的功能。
虽然许多开发人员对向量搜索的众多可选方案表示了赞赏,但用户 nhatnv 在 Reddit 上发表了这样的评论:
除非你面对的是数十亿的规模,否则我认为没有必要为向量数据库提供如此多样的选择。
MariaDB plc 首席架构师 Sergei Golubchik 在“MariaDB 向量有多么快?”一文中使用 ann-benchmarks 套件将新功能与其他向量数据库进行了对比。
鉴于目前还是 alpha 版本,所以还没有完整的二进制包;不过,Quay.io 上已经提供了支持向量搜索并启用了 CPU 优化的容器镜像。
查看英文原文:https://www.infoq.com/news/2024/08/mariadb-vector-search/