有奖捉虫:办公协同&微信生态&物联网文档专题 HOT

向量(Vector)

向量可以理解为一组数值的有序集合,通常用于表示某个对象或事物的属性或者特征。这些数值可以有不同的维度,每个维度都表示一个属性或特征。在机器学习和人工智能领域,向量常用于表示图像、文本、音频等数据,通过计算向量之间的距离或相似度来实现分类、聚类、检索等任务。

OLAMA

OLAMA 是腾讯自研的向量引擎,具有高性能、高可用、简单易用等特点。它支持单索引10亿级向量规模,适用于 AI 运算、检索场景,已稳定服务于近40个线上业务。

实例(Instance)

实例是腾讯云中独立运行的数据库环境,是用户购买向量数据库服务的基本单位,以单独的进程存在。一个数据库实例可以包含多个由用户创建的数据库。 您可以在控制台创建、修改和删除实例。实例之间相互独立、资源隔离,相互之间不存在 CPU、内存、持久内存、IO 等抢占问题。

数据库(Database)

数据库是按照数据结构来组织、存储和管理数据的仓库,一个实例可以创建多个 Database。

集合(Collection)

在向量数据库中,集合是指一组文档组,类似于关系型数据库中的表,其中可包含多条文档数据。集合没有固定的结构,可以插入不同格式和类型的数据。向量数据库支持集合维度的多分片、多副本特性,可以在创建集合时按需指定分片数和副本数。

文档(Document)

在向量数据库中,集合 可以看作是一个表格,而 Document 可以看作是表格中的一行数据。每个 Document 代表一个完整的文档对象,包含了多个 Field,每个 Field 表示文档中的一个属性或字段。向量数据库的文档是一组键值对(key:value),每个文档都有一个唯一主键(id)和一个向量字段(vector)。在插入文档时,向量数据库不需要设置相同的字段,可以在插入数据时增加或删除字段。

字段(Field)

每个 Field 是一个键值对(key:value),表示文档中的一个属性或者字段。每个 Field 都有自己的类型和取值范围,可以是字符串、数字等不同类型的数据。

节点(Node)

从向量数据库集群的资源角度来看,节点是用于存储数据的资源单位。一个运行中的向量数据库实例通常包含很多个节点,集合的多个副本和分片会分布在若干个节点上。节点是组成向量数据库集群的基本单元之一。

分片(Shard)

为了支持更大规模的数据,集合一般会按某个维度分成多个部分,每个部分就是一个分片,分布在若干个节点(Node)上。为了保证可靠性和可用性,同一个集合的多个分片会分布在不同节点(Node)上。

副本(Replica)

同一个分片(Shard)的备份数据,一个分片至少会有2个副本。副本分片作为硬件故障时保护数据不丢失的冗余备份,并为向量检索和文档查询等读操作提供服务,确保数据库在面临节点故障和负载变化等挑战时仍能正常运行。

索引(Index)

索引是一种特殊的数据结构,用于快速查找和访问数据,存储在内存中。索引本身并不存储数据,而是存储指向数据存储位置的指针或键值对。Tencent Cloud VectorDB 支持 FLAT、HNSW 等常见的向量索引。索引介绍详见 向量检索

KNN(K-Nearest Neighbor Search)

KNN 指的是最近邻搜索(K-Nearest Neighbor Search),是一种基于暴力搜索的方法,它的原理是:计算待查询向量与数据库中所有向量之间的距离,然后按照距离从小到大排序,选择距离最近的 K 个向量作为查询结果。KNN 算法的优点是可以保证精确的结果,但是对于大规模的向量数据,计算量会非常大,效率较低。

ANN(Approximate Nearest Neighbor Search)

ANN 表示近似最近邻搜索(Approximate Nearest Neighbor Search),是一种用于高维数据空间中快速查找最近邻点的方法。与精确最近邻搜索相比,ANN 牺牲了一定的精度以换取更高的搜索速度,因此在处理大规模数据集时具有较高的效率。ANN 方法通常会对数据进行预处理,从而在查询时减少计算距离的次数。ANN 算法的优点是速度快、效率高,但是相对于 KNN 算法来说,其结果可能不够精确。

HNSW(Hierarchical Navigable Small World)

HNSW 是一种基于图的高维向量相似性搜索算法,全称为:Hierarchical Navigable Small World。它通过构建一张图来表示向量之间的相似度关系,并使用一些优化策略来加速搜索过程。