4.2 开源与否Pinecone是完全闭源的 , Zilliz也是一个闭源的完全托管的商业解决方案,但它完全建立在Milvus之上,其他向量数据库至少在代码库方面是源代码可用的,具体的许可证决定了代码的可许可性以及如何部署 。

文章插图
图片
4.3 检索算法众多向量数据库的检索算法都采用了HNSW,其中,Milvus 的检索算法支持最为丰富 。

文章插图
图片
4.4 部署方式向量数据库的典型部署方式包括本地部署和托管/云原生,两者都遵循CS架构 。还有一种新的选择是嵌入式模式,其中数据库本身与应用程序代码紧密耦合,以serverless的方式运行 。目前,只有Chroma和LanceDB可用作嵌入式数据库 。

文章插图
图片
综上所述,主流向量数据库的部分指标对比如下:

文章插图
图片
此外,在选择向量数据库时,还需要特别考量以下因素:
- 可扩展性:能够高效处理高维度大数据量并能够根据数据需求的增长进行扩展 。
- 性能:速度和效率对数据库至关重要,需要在数据搜索、搜索性能和执行各种向量操作方面表现出色 。
- 灵活性:支持广泛的数据类型和格式,并且可以轻松适应不同的应用场景 。
- 易用性 。这些数据库易于使用和管理,易于安装和配置 , 具有直观的API , 并且有良好的文档和支持 。
- 可靠性:需要有可靠和稳定的声誉 。
关系型数据库
向量数据库
数据类型
数值、字符串、时间等传统数据类型
向量数据不存储原始数据
数据规模
小,1亿数据量为规模很大
大 , 千亿数据是底线
数据组织方式
基于表格,按照行和列组织
基于向量,按照向量维度组织
查找方式
精确查找:点查/范围查
近似查找:对算力要求较高
低时延 , 高并发
否
是
支撑上层应用
较弱
对外提供统一的API,更适合大规模AI引用程序的部署和使用
应用场景
容错率低,需提供更为精准的搜索结果
场景容错率较高
与在行和列中存储多种标准数据类型(如字符串、数字和其他标量数据类型)不同 , 向量数据库引入了向量这种新的数据类型,并围绕此数据类型构建优化,专门用于实现快速存储、检索和最近邻搜索语义 。在传统数据库中,使用查找完全匹配项的索引或键值对对数据库中的行进行查询,并返回这些查询的相关行 。
特别地,向量数据库与图数据库的对比如下:

文章插图
图片
6. 向量数据库在大模型中的应用基于大模型的应用经常一些面临挑战,例如生成不准确或不相关的信息;缺乏事实一致性或常识;重复或自相矛盾;有偏见的或令人反感等 。为了克服这些挑战,可以使用向量数据库来存储与所需领域的不同主题、关键词、事实、观点和/或来源的信息 。然后,在使用一个大模型时,通过AI插件从向量数据库中传递信息,以生成更具信息性和吸引力的内容,符合目标意图和指定风格 。
借助向量数据库,我们能够快速加载和存储事件作为嵌入,并使用向量数据库作为为AI模型提供动力的大脑,提供上下文信息,长期记忆检索,语义上的数据关联等等 。向量数据库的典型使用方式如下:1. 使用embeding 技术创建向量2. 将这些向量存储到向量数据库3. 应用索引策略来组织管理向量4. 使用查询向量执行相似性搜索5. 从向量数据库中取得相似的向量
推荐阅读
- Python内置数据库:轻量级SQLite
- 灵活就业人员为何参保意愿不高?专家解读
- Oracle数据库存在不可用索引性能问题
- 每个程序员都必须了解的十种数据库
- 笔记本电脑性能分析:处理器、内存、硬盘和显卡的深度解读
- 深度优化数据库性能:Linux 内核参数调整解析
- 14个开源免费数据库监控工具,MySQL、Oracle、Postgres或MSSQL
- 初识向量数据库与pgvector实践
- 直面数据库的“崖山海战”:YashanDB另辟蹊径站上新高地
- 国内首个向量数据库标准发布
