随着大语言模型的兴起,向量数据库正愈发受到人们的关注 。作为对向量数据库的一名小白,近期简单对这一新技术方向做了些了解,特分享给大家 。
1. 大火的向量数据库
1).什么是向量在数学中 , 向量是有大小和方向的量,可以使用带箭头的线段表示,箭头指向即为向量的方向,线段的长度表示向量的大小 。两个向量的距离或者相似性可以通过欧式距离、余弦距离等得到 。
文章插图
图片
2).什么是向量数据向量数据是一种数学表示,用一组(多个维度)有序的数值表示一个对象或数据点 。在向量数据中,每个维度代表了向量的一个特征或属性 。例如,如果考虑一个二维向量数据集,每个向量可以表示平面上的一个点,其中第一个维度表示横坐标,第二个维度表示纵坐标 。实际只要维度够多 , 就能够将所有事物都区分开来,世间万物都可以用一个多维坐标系来表示,它们都在一个高维的特征空间中对应着一个坐标点 。在生活中,向量数据在各种领域中得到广泛应用,特别是在机器学习、数据挖掘和模式识别等领域 。它可以表示各种类型的数据,如图像、音频、文本、用户行为、传感器数据等 。
文章插图
图片
简而言之 , 向量表示是一种将非结构化的数据转换为嵌入向量的技术,通过多维度向量数值表述某个对象或事物的属性或者特征 。通过嵌入技术,任何图像、声音、文本都可以被表达为一个高维的向量 。
3).什么是向量数据库
文章插图
图片
如果键值、文档、图数据一样,向量数据也需要一种专门的载体来承担 。向量数据库是一种专门用于存储、管理和搜索向量数据的数据库 。它以向量的形式存储数据,其中向量是抽象实体(如图像、音频文件、文本等)的数学表示;并支持使用专门的算法来支持向量数据搜索和分析 。与传统数据库相比 , 向量数据库使用向量化计算,能够高速地处理大规模的复杂数据;并可以处理高维数据,例如图像、音频和视频等,解决传统关系型数据库中的痛点 。
4).向量数据库技术特点向量数据库,具有如下核心特点:
- 向量表示向量数据库将复杂的数据类型转换为向量表示,使得高维数据能够以多维空间中的点的形式表示 。向量数据库采用嵌入向量(embedding vector)技术,对非结构化数据(包括文本、图片、视频、音频等)进行特征抽象 。数学上,嵌入向量是一个浮点数或二进制数的数组,即 N 维特征向量空间中的向量 。
- 向量检索向量数据库擅长在海量数据中根据向量表示搜索与给定查询相似的数据项 。为了提高效率,向量库支持使用如欧氏距离、余弦相似度或曼哈顿距离等相似性度量来确定多维空间中数据点之间的接近程度,从而找到最相关和最相似的结果 。
- 海量规模向量数据库被设计成能够处理大规模的数据集 , 并且在数据集大小增长时能够保持高搜索精度和响应时间 。此外,它们通常提供并行处理和分布式计算的机制,以满足不断增长的数据需求 。
- AI 支持随着人工智能和机器学习应用的迅速增长 , 向量数据库的采用也在增加 。将复杂数据转换为向量表示可以与这些算法无缝集成,从而获得规模化的有价值洞见和预测 。
2. 向量数据库生态及发展
1).产品路线:专有化 vs 插件化目前,市场上的涌现出一批向量数据库 。技术原理上,一种是关系型数据库或NoSQL数据库,增加向量嵌入存储,但它们最初都没有设计用于存储和提供这种类型的数据 。例如最为常见的pgvector插件,可以通过嵌入方式在PostgreSQL 数据支持存储和使用 。另一种是原生的向量数据库,即在诞生之初就定位为专项数据库产品 。Milvus 是一个于 2019 年首次发布的开源矢量数据库 。
推荐阅读
- 直面数据库的“崖山海战”:YashanDB另辟蹊径站上新高地
- 国内首个向量数据库标准发布
- 关系数据库的演变:从过去到现在
- 深入探讨数据库管理系统中的不同隔离级别
- 你应该知道的主流开源数据库
- Scylla数据库-高性能的分布式数据库
- 三大开源向量数据库大比拼
- Oracle数据库调优实战:优化SQL查询的黄金法则!
- 如何解决SQL Server数据库备份过程中检测到的日志损坏问题
- 数据库索引只能用 B 树吗?