青年数据库学习互助会

pgvector 0.8.0 发布,数据搜索效率再升级!

想学会更多实用技巧,欢迎加入青学会MOP技术社区(实名社区)。

加入方法:公众号后台回复关键字“加入”获取小助手微信,添加后登记入会。

Image

同时欢迎大家在评论区留言互动交流!社区会不定期举行相关的抽奖、公开分享活动。

如果你有想了解的知识点希望我们发文可以后台私信。

正文开始

pgvector 0.8.0 最新版本正式发布了!这次更新带来了多项重要的功能改进,让数据搜索变得更加高效和智能。以下是本次更新的主要亮点:

支持迭代索引扫描

  • 防止“过度过滤”:新版本引入了迭代索引扫描功能,通过设置 hnsw.iterative_scan 和 ivfflat.iterative_scan 参数,可以启用迭代扫描。如果初次索引扫描未能满足查询条件,pgvector 将继续搜索索引,直到达到你设定的阈值(如 hnsw.max_scan_tuples 和 ivfflat.max_probes)。
  • 确保结果充足:这一功能有效防止了因“防止“过度过滤””导致的查询结果不足问题,确保每次查询都能返回足够的有效结果。

添加数组到稀疏向量的转换

  • 便捷的数据转换:新增了从数组到稀疏向量的转换功能,使数据处理更加灵活方便。这特别适用于处理大规模稀疏数据集,可以大大提高数据准备的效率。

改进成本估算,优化索引选择

  • 智能索引选择:新版本改进了 PostgreSQL 在何时扫描近似最近邻(ANN)索引(如 HNSW 和 IVFFlat)的成本估算方法。这意味着数据库能够更智能地选择 B 树或其他更高效的索引执行查询,从而提高查询性能。
  • 100% 召回率:在不需要使用 ANN 索引的情况下,你依然可以获得最佳的查询性能,同时保证 100% 的召回率或高度相关的搜索结果。

提升 HNSW 索引扫描性能

  • 更快的查询速度:新版本对 HNSW 索引扫描进行了优化,显著提高了查询速度。这使得在处理大规模数据集时,查询响应更加迅速,用户体验更好。

提升 HNSW 插入和磁盘索引构建性能

  • 高效的索引管理:新版本优化了 HNSW 索引的插入操作和磁盘索引的构建过程,大幅提升了这些操作的性能。这对于频繁更新数据集的应用场景非常有帮助。

停止支持 PostgreSQL 12

  • 专注于最新版本:为了更好地支持最新的 PostgreSQL 版本,pgvector 0.8.0 不再支持 PostgreSQL 12。建议使用更高版本的 PostgreSQL 以获得最佳性能和功能支持。

如果你对 pgvector 0.8.0 的新功能感兴趣,或者想了解更多详细信息,可以查看官方的 CHANGELOG 文档,也可以访问 pgvector 的 GitHub 项目主页:

https://github.com/pgvector/pgvector

END

往期文章回顾

MOP社区新闻

  青学会MOP技术社区成立了!

  青学会专家顾问团成员介绍

金仓专栏

  告别繁琐!KingbaseES v9数据库一键安装-青学会&金仓专栏(1)

  KingbaseES v9数据库Docker安装-青学会&金仓专栏(2)

KingbaseES数据脱敏-青学会&金仓专栏(3)

KingbaseES后台服务管理-青学会&金仓专栏(4)

  电科金仓KES日常运维命令集锦-青学会&金仓专栏(5)

DBA实战小技巧

推荐一款超实用的openGauss数据库安装工具!

  实战:记一次RAC故障排查
  DBA实战运维小技巧安装篇(一)Oracle 主流版本不同架构下的静默安装指南
  DBA实战运维小技巧存储篇(一)根目录满了如何处理
  DBA实战运维小技巧存储篇(二)打包迁移单机数据库至新存储

MOP社区投稿-内核开发

浅谈 PostgreSQL GUC 模块原理

简单解析 IvorySQL 增强 Oracle xml 兼容能力的原理

简单讨论 PostgreSQL C语言拓展函数返回数据表的方式

简单分析 pg_config 程序的作用与原理
  Redis 日志机制简介(一):SlowLog
Redis 日志机制简介(二):AOF 日志
  Redis 日志机制简介(三):RDB 日志
  pg_cron插件使用介绍
  Redis 的指令表实现机制简介
  pg几款源码工具介绍
  Redis 事务功能简介

MOP顾问说

MOP顾问说:MOP 三种主流数据库常用 SQL(一)

MOP顾问说:服务器内存

MOP 顾问说:Linux Nice 值与 CPU 优先级揭秘