向量数据库的分类概况

news2024/11/26 19:55:36

保存和检索矢量数据的五种方法:

  1. 像 Pinecone 这样的纯矢量数据库
  2. 全文搜索数据库,例如 ElasticSearch
  3. 矢量库,如 Faiss、Annoy 和 Hnswlib
  4. 支持矢量的NoSQL 数据库,例如 MongoDB、Cosmos DB 和 Cassandra
  5. 支持矢量的SQL 数据库,例如 SingleStoreDB 或 PostgreSQL
    1.纯矢量数据库
        纯向量数据库专门用于存储和检索向量。示例包括 Chroma、LanceDB、Marqo、Milvus/Zilliz、Pinecone、Qdrant、Vald、Vespa、Weaviate 等。

    在纯矢量数据库中,数据是根据对象或数据点的矢量表示来组织和索引的。这些向量可以是各种类型数据的数值表示,包括图像、文本文档、音频文件或任何其他形式的结构化或非结构化数据。

    纯载体数据库的优点

    利用索引技术进行高效的相似性搜索
    大型数据集和高查询工作负载的可扩展性
    支持高维数据
    支持基于 HTTP 和 JSON 的 API
    对向量运算的本机支持,包括加法、减法、点积、余弦相似度

    纯载体数据库的缺点

    仅矢量:纯矢量数据库可以存储矢量和一些元数据,但仅此而已。对于大多数企业人工智能用例,您可能需要包括实体、属性和层次结构(图形)、位置(地理空间)等的描述等数据。
    有限或没有 SQL 支持:纯向量数据库通常使用自己的查询语言,这使得很难对向量和相关信息运行传统分析,或者将向量和其他数据类型结合起来。
    没有完整的 CRUD。纯向量数据库并不是真正为创建、更新和删除操作而设计的。对于读取操作,数据必须首先进行矢量化和索引以进行持久化和检索。这些数据库专注于提取矢量数据、对其进行索引以进行有效的相似性搜索以及基于矢量相似性查询最近邻居。
    建立索引非常耗时。索引矢量数据计算量大、成本高且耗时。这使得很难将新数据用于生成人工智能应用程序。

    被迫权衡。根据所使用的索引技术,矢量数据库要求客户在准确性、效率和存储之间进行权衡。例如,Pinecone 的 IMI 索引(反向多重索引,ANN 的一种变体)会产生存储开销,并且计算量很大。它主要针对静态或半静态数据集而设计,如果频繁添加、修改或删除向量,则可能会受到挑战。Milvus 使用称为“产品量化”和“分层可导航小世界”(HNSW) 的索引,这些索引是权衡搜索准确性和效率的近似技术。此外,其索引需要配置各种参数,使用不正确的参数选择可能会影响搜索结果的质量或导致效率低下。

    企业特征值得怀疑。许多矢量数据库在基本功能上严重落后,包括 ACID 事务、灾难恢复、RBAC、元数据过滤、数据库可管理性、可观察性等。这可能会导致严重的业务问题 - 类似于丢失所有数据的客户。

    对于许多客户来说,矢量数据库的局限性将归结为性价比。鉴于矢量运算的计算量大,OSS矢量数据库或矢量库成为特别大规模应用程序的可行替代方案。

    2. 全文检索数据库

    此类别包括 Elastic/Lucene、OpenSearch 和 Solr 等数据库。

    优点

    --高可扩展性和性能,特别是对于非结构化文本文档
    --丰富的文本检索功能,例如内置外语支持、可自定义分词器、词干分析器、停止列表和 N 元语法
    --基于开源库(Apache Lucene)
    --大型集成生态系统,包括向量库

    矢量数据全文检索数据库的局限性

    --未针对向量搜索或相似性匹配进行优化
    --专为全文搜索而不是语义搜索而设计,因此基于其构建的应用程序不会具有检索增强生成 (RAG) 和其他用例的完整上下文。为了实现语义搜索功能,这些数据库需要使用其他工具以及大量的自定义评分和相关性模型进行扩充。
    --其他数据格式(图像、音频、视频)的应用有限
    --缺乏 GPU 支持

    3. 向量库

    对于许多开发人员来说,Faiss、Annoy 和 Hnswlib 等开源矢量库是一个不错的起点。

    Faiss是一个用于密集向量的相似性搜索和聚类的库。Annoy(Approximate Nearest Neighbors Oh Yeah)是一个用于 ANN 搜索的轻量级库。Hnswlib是一个实现 ANN 搜索的 HNSW 算法的库。

    开源向量库的优点

    --快速最近邻搜索
    --专为高维而打造
    --支持面向 ANN 的索引结构,包括倒排文件、乘积量化和随机投影
    --支持推荐系统、图像搜索和 NLP 的用例
    --SIMD(单指令、多数据)和 GPU 支持可加速矢量相似性搜索操作

    开源向量库的局限性

    --繁琐的维护和集成
    --与精确方法相比,牺牲搜索精度
    --自带基础设施矢量库需要大量内存和计算资源,它们需要您构建和维护复杂的基础设施,以便为应用程序需求提供足够的 CPU、GPU 和内存资源。
    --对元数据过滤、SQL、CRUD 操作、事务、高可用性、灾难恢复以及备份和恢复的支持有限或不支持

         4.支持向量的NoSQL数据库

该类别包括:

  1. NoSQL 数据库,例如 MongoDB、Cassandra/DataStax Astra 和 CosmosDB。
  2. 键值数据库,例如 Redis
  3. 其他特殊用途数据库,如 Neo4j(

几乎所有这些 NoSQL 数据库最近才通过添加矢量搜索扩展而变得支持矢量。

优点

  • 对于其特定的数据模型,NoSQL 数据库提供高性能和规模。Neo4j(图形数据库)可以与社交网络或知识图的法学硕士结合使用。具有矢量功能的时间序列数据库(例如 kdb)也许能够将矢量数据与金融市场数据结合起来。

局限性

  • NoSQL 数据库的向量功能是基本的/新生的/未经测试的。许多 NoSQL 数据库今年才添加了向量支持。五月,Cassandra 宣布计划添加矢量搜索。4 月份,Rockset 宣布支持基本向量搜索,Azure Cosmos DB于 5 月份宣布支持 MongoDB vCore 的向量搜索。DataStax和MongoDB就在本月宣布了矢量搜索功能(均为预览版)!
  • NoSQL 数据库的矢量搜索性能差异很大,具体取决于支持的矢量函数、索引方法和硬件加速。
    5. 支持向量的 SQL 数据库
         该类别由一组非常小的数据库组成——SingleStoreDB、PostgreSQL 的 pgvector/Supabase Vector(测试版)、Clickhouse、Kinetica 和 Rockset。我们预计更多流行的数据库会出现在这个列表中,因为向已建立的数据库添加基本矢量功能并不是一件繁重的工作。事实上,矢量数据库 Chroma 是从 ClickHouse 中诞生的。
    更新:2023 年 9 月,Oracle 也宣布了矢量搜索功能。

    支持矢量的 SQL 数据库的优点

    --具有点积、余弦相似度、欧氏距离和曼哈顿距离等功能的幂向量搜索。
    --使用相似度分数查找 K 最近邻
    --多模型 SQL 数据库提供混合搜索,并且可以将向量与其他数据结合起来以获得更有意义的结果
    --大多数 SQL 数据库可以部署为服务,并在任何主要云上完全管理。

    SQL 数据库用于矢量数据处理的局限性

    --SQL 数据库是为结构化数据而设计的。生成式人工智能应用程序背后的语料库主要包含非结构化数据,例如图像、音频和文本。虽然关系数据库通常可以存储文本和 blob,但大多数数据库不会对这种非结构化数据进行矢量化以用于机器学习。
    --大多数 SQL 数据库尚未针对矢量搜索进行优化。关系数据库的索引和查询机制主要是为结构化数据设计的,而不是高维向量数据。虽然用于矢量数据处理的 SQL 数据库的性能可能并不出色,但支持矢量的 SQL 数据库可能会添加扩展或新功能来支持矢量搜索。例如,虽然 SingleStoreDB 支持精确的 k-NN 搜索,但我们打算添加 ANN 搜索来提高非常大、高维数据集的性能。
    --传统的 SQL 数据库无法横向扩展,因此其性能会随着数据的增长而下降。使用 SQL 数据库处理高维向量的大型数据集可能需要您进行额外的优化,例如对数据进行分区或采用专门的索引技术来保持高效的查询性能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1206069.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

农业水土环境建模流程、DEM数据制备、土地利用数据制备、土壤数据制备、气象数据制备、农业措施数据制备、参数率定与结果验证、农业面源污染分析

目录 一、农业水土环境建模概述 二、ArcGIS入门 三、农业水土环境建模流程 四、DEM数据制备流程 五、土地利用数据制备流程 六、土壤数据制备流程 七、气象数据制备流程 八、农业措施数据制备流程 九、参数率定与结果验证 十、模型结果分析及地图制作 十一、农业土壤…

MT8788核心板主要参数介绍_联发科MTK安卓核心板智能模块

MT8788核心板是一款功能强大的4G全网通安卓智能模块,具有超高性能和低功耗特点。该模块采用联发科AIOT芯片平台。 MT8788核心板搭载了12nm制程的四个Cortex-A73和四个Cortex-A53处理器,最高主频可达2.0GHZ。它还配备了4GB64GB(2GB16GB、3GB32GB)的内存&a…

4004 DC音频转换器原理

4004是一款低噪声、固定频率360KHz的电荷泵型DC DC转换器,在输入电压2.8V到5V的情况下,恒定输出5V电压,电压精度为:3%,输出电流达到300mA。4004外部零件少,非常适合小型的电池供电应用。4004优化后的电荷泵…

2023亚太杯数学建模A题思路解析

文章目录 0 赛题思路1 竞赛信息2 竞赛时间3 建模常见问题类型3.1 分类问题3.2 优化问题3.3 预测问题3.4 评价问题 4 建模资料5 最后 0 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 1 竞赛信息 2023年第十三…

2023亚太杯数学建模思路 - 复盘:校园消费行为分析

文章目录 0 赛题思路1 赛题背景2 分析目标3 数据说明4 数据预处理5 数据分析5.1 食堂就餐行为分析5.2 学生消费行为分析 建模资料 0 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 1 赛题背景 校园一卡通是集…

python 路径变更后 pip 运行报错

python 路径变更后 pip 运行报错 Fatal error in launcher: Unable to create process using "d:\python-3.6.6\python .exe" "D:\python-3........出现这种原因是因为生产 Scripts\pip.exe中存在绝对路径,因此当python变更过路径后所有 Scripts目…

YOLOv8 营业执照提取 统一社会信用代码、企业名称

目录 背景 尝试一:整图OCR识别,然后正则匹配 尝试二:利用显著特征,直接传统方法定位,切出来识别 尝试三:yolov8训练一个统一社会信用代码、企业名称位置检测 ​编辑 效果 模型信息 项目 ​编辑 代…

终端训练模型日志重定向

在终端中要执行模型的训练时,我们有时候既需要把模型执行的日志输出到终端展示,又想把训练日志保存到日志文件中: 假设执行的代码时trian.py python -u train.py | tee -a ./train.log-u:这是 Python 解释器的一个选项,用于强制标…

DRAM和SRAM

特点 Static Random Access Memory:速度快、存储一位需要元器件更多、功耗较大、集成度低、更贵 Dynamic Random Access Memory:容量大、需刷新、附属电路更复杂、功耗较小、集成度高 存储位元 SRAM DRAM 逻辑结构 SRAM 典型的SRAM芯片有6116&am…

【已解决】git push send-pack: unexpected disconnect while reading sideband packet

解决办法:修改缓存大小 打开项目所在路径下的git目录 找到config文件,用记事本打开编辑。 添加如下内容并保存即可 [http] postBuffer 1048576000

【NLP】大型语言模型,ALBERT — 用于自监督学习的 Lite BERT

🔎大家好,我是Sonhhxg_柒,希望你看完之后,能对你有所帮助,不足请指正!共同学习交流🔎 📝个人主页-Sonhhxg_柒的博客_CSDN博客 📃 🎁欢迎各位→点赞…

社交媒体可持续性挑战:TikTok的危机与应对

随着社交媒体的全球普及,TikTok已成为一个备受欢迎的短视频平台,吸引了数以亿计的用户。然而,在其增长和成功背后,也伴随着一系列可持续性挑战。本文将深入探讨TikTok面临的可持续性问题,以及它如何应对这些挑战&#…

libusb获取Windows设备实例路径DevicePath

libusb 当前版本(1.0.26)libusb.h 头文件提供的接口似乎没有办法获取 Windows 平台相关的设备实例路径,其形如: \\?\usb#vid_04ca&pid_7070#5&20d34a76&0&6#{a5dcbf10-6530-11d2-901f-00c04fb951ed} 只是提供了…

内网渗透(frp和proxychains4)

一、准备工作 需要三台机器,去哦这里准备的是win7(目标主机),kali(攻击者),红帽(跳板) 攻击机(kali):192.168.10.15 跳板机&#xff0…

生成式AI以及当前趋势

ChatGPT 激发了人们的想象力和好奇心。自 2022 年 11 月推出后,短短两个月内其月活用户便达到 1 亿,成为有史以来增长速度最快的消费类应用和第一个杀手级的生成式 AI 应用。随着创新节奏的加快,想要紧跟生成式 AI 的发展速度,难度…

SharePoint-连接Excel

Power Automate和Power Apps想要连接Excel表格的话,可以在OneDrive或SharePoint网站的文档中创建Excel文件,然后把Excel转换成table表格 以SharePoint为例,在文档中点击新建,选择Excel工作簿 填写内容,然后全选选中 在…

3C制造RFID产线智能化升级改造设计方案

3C行业需求 近年来,随着政策的支持、相关技术的进步以及市场需求的推动,3C行业迅速发展,我国的3C市场已经进入了稳定发展阶段,作为仅次于汽车产业的大市场,3C产业在智能制造的推动下,越来越多的物联网技术…

测试用例之翻页功能!

翻页功能在平时测试中主要有这几个功能,我们就以这几个功能为主来编写测试用例: 1、上一页,下一页,首页,尾页; 2、当前页数,总页数; 3、指定跳转页; 4、指定每页显示条数…

ceph修复pg inconsistent( scrub errors)

异常情况 1、收到异常情况如下: OSD_SCRUB_ERRORS 12 scrub errors PG_DAMAGED Possible data damage: 1 pg inconsistentpg 6.d is activeremappedinconsistentbackfill_wait, acting [5,7,4]2、查看详细信息 登录后复制 #ceph health detail HEALTH_ERR 12 scrub errors…

【工具使用】STM32CubeMX-定时器PWM配置

一、概述 无论是新手还是大佬,基于STM32单片机的开发,使用STM32CubeMX都是可以极大提升开发效率的,并且其界面化的开发,也大大降低了新手对STM32单片机的开发门槛。     本文主要讲述STM32芯片定时器PWM功能的配置及其相关知识…