初识向量数据库与pgvector实践( 二 )


初识向量数据库与pgvector实践

文章插图
图片
那上述两种路线未来发展如何呢?一种观点认为向量数据库的核心技术核心向量索引技术成熟,进入壁垒低 , 因此市场认为向量数据库核心技术缺少壁垒,传统数据库实现向量搜索功能简单 , 将替代向量数据库满足大部分市场需求,专业向量数据库将被“传统向量数据库”取代 。另一种观点认为,专业的向量数据库仍具有不可替代性,其在检索性能、数据规模、接口丰富度、性价比等方面具有一定优势 。个人认为,从长期角度来看,上述两种路线都具有存在意义,双方也都有各自所长及适应场景 。特别是近年来,向量数据库也在不断向传统数据库学习,进而满足AI场景化在通用性、稳定性等方面的要求 。
2).资本如何看待向量库发展从近期的融资来看,资本角度非常看好这一领域(如下图) 。向量数据库正在被定义为一种“AI 基础设施” 。从市场空间来看,AI技术的发展将推动向量数据应用与存储需求加速增长:一方面随着AI应用场景不断丰富 , 向量数据库的下游客户数量随着AI发展而飞速增长;另一方面AIGC正推动着非结构化数据应用飞速增长,AIGC带来了跨模态数据分析的需求浪潮 , 只有向量数据库才能实时快速地处理这些海量的向量数据 。
初识向量数据库与pgvector实践

文章插图
图片
 
 
3. 向量数据库实践:pgvector 
在所有现有向量数据库中,pgvector 是一个独特的存在 —— 它选择了在现有的世界上最强大的开源关系型数据库 PostgreSQL 上以插件的形式添砖加瓦,而不是另起炉灶做成另一个专用的"数据库"。目前很多 PostgreSQL 生态产品和云产品,都推出了对 pgvector 的支持 。
 
初识向量数据库与pgvector实践

文章插图
图片
1).pgvector 特点pgvector 是一个基于 PostgreSQL 的扩展,为用户提供了一套强大的功能,用于高效地存储、查询和处理向量数据 。它具有以下特点:
  • 直接集成:pgvector 可以作为扩展直接添加到现有的 PostgreSQL 环境中,方便新用户和长期用户获得矢量数据库的好处,无需进行重大系统更改 。
  • 支持多种距离度量:pgvector 内置支持多种距离度量 , 包括欧几里德距离、余弦距离和曼哈顿距离 。这样的多功能性使得可以根据具体应用需求进行高度定制的基于相似性的搜索和分析 。
  • 索引支持:pgvector 扩展为矢量数据提供高效的索引选项,例如 k-最近邻 (k-NN) 搜索 。即使数据集大小增长 , 用户也可以实现快速查询执行,并保持较高的搜索准确性 。
  • 易于查询语言访问:作为 PostgreSQL 的扩展 , pgvector 使用熟悉的 SQL 查询语法进行向量操作 。这简化了具有 SQL 知识和经验的用户使用矢量数据库的过程,并避免了学习新的语言或系统 。
  • 积极的开发和支持:pgvector 经常更新,以确保与最新的 PostgreSQL 版本和功能兼容 , 并且开发者社区致力于增强其功能 。用户可以期待一个受到良好支持的解决方案,满足其矢量数据的需求 。
  • 稳健性和安全性:通过与 PostgreSQL 的集成,pgvector 继承了相同级别的稳健性和安全性功能,使用户能够安全地存储和管理其矢量数据 。
 
2).pgvector 计算在 pgvector 中,可以使用各种查询运算符对向量数据进行不同的操作 。这些运算符主要用于计算向量之间的相似度或距离 , 其中一些运算符使用不同的距离度量 。以下是一些常用的 pgvector 查询运算符: