pgvector 0.8.0 发布,数据搜索效率再升级!
想学会更多实用技巧,欢迎加入青学会MOP技术社区(实名社区)。
加入方法:公众号后台回复关键字“加入”获取小助手微信,添加后登记入会。
同时欢迎大家在评论区留言互动交流!社区会不定期举行相关的抽奖、公开分享活动。
如果你有想了解的知识点希望我们发文可以后台私信。
正文开始
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
往期文章回顾
MOP社区新闻
金仓专栏
告别繁琐!KingbaseES v9数据库一键安装-青学会&金仓专栏(1)
KingbaseES v9数据库Docker安装-青学会&金仓专栏(2)
DBA实战小技巧
实战:记一次RAC故障排查
DBA实战运维小技巧安装篇(一)Oracle 主流版本不同架构下的静默安装指南
DBA实战运维小技巧存储篇(一)根目录满了如何处理
DBA实战运维小技巧存储篇(二)打包迁移单机数据库至新存储
MOP社区投稿-内核开发
简单解析 IvorySQL 增强 Oracle xml 兼容能力的原理
简单讨论 PostgreSQL C语言拓展函数返回数据表的方式
简单分析 pg_config 程序的作用与原理
Redis 日志机制简介(一):SlowLog
Redis 日志机制简介(二):AOF 日志
Redis 日志机制简介(三):RDB 日志
pg_cron插件使用介绍
Redis 的指令表实现机制简介
pg几款源码工具介绍
Redis 事务功能简介