如何理解“向量”
向量,作為數(shù)學(xué)和物理學(xué)的基本概念,是具有大小和方向的量。在計(jì)算機(jī)科學(xué)中,向量常被用于表示數(shù)據(jù)的一種形式,例如圖像、音頻、文本等多維度的信息。
向量數(shù)據(jù)庫則是專門用于存儲和處理向量數(shù)據(jù)的非關(guān)系型數(shù)據(jù)庫。它的主要作用是通過計(jì)算一個(gè)向量與其他所有向量之間的距離來找到最相似的向量(最相似的知識或內(nèi)容)。因此,對于需要理解數(shù)據(jù)內(nèi)在語義的應(yīng)用,例如使用深度學(xué)習(xí)和人工智能技術(shù)的場景,向量數(shù)據(jù)庫能夠發(fā)揮出巨大的優(yōu)勢。
在實(shí)際業(yè)務(wù)場景中,向量數(shù)據(jù)庫可以提供高效的相似度搜索功能。例如,在圖像識別中,通過向量數(shù)據(jù)庫的幫助,我們可以快速搜索到最相似的圖像,以支持圖像檢索、人臉識別等任務(wù)。此外,根據(jù)查詢或相似性指標(biāo),向量數(shù)據(jù)庫還可以快速高效地檢索向量表示,使語言模型能夠快速地訪問向量嵌入。因此,我們可以說,向量數(shù)據(jù)庫對處理大規(guī)模向量數(shù)據(jù)的相似性搜索和查詢提供了強(qiáng)大的支持。
向量數(shù)據(jù)庫發(fā)展史
起源
向量數(shù)據(jù)庫的起源可以追溯到20世紀(jì)60年代。當(dāng)時(shí),計(jì)算機(jī)科學(xué)家們開始研究如何使用計(jì)算機(jī)來處理大量的數(shù)據(jù)。在這個(gè)過程中,他們發(fā)現(xiàn)向量數(shù)據(jù)具有很高的相似性和可擴(kuò)展性,因此開始嘗試將向量數(shù)據(jù)存儲在數(shù)據(jù)庫中。最早的向量數(shù)據(jù)庫系統(tǒng)是由美國國防部高級研究計(jì)劃局(DARPA)資助的一個(gè)項(xiàng)目,該項(xiàng)目的目標(biāo)是開發(fā)一種能夠處理大量向量數(shù)據(jù)的數(shù)據(jù)庫系統(tǒng)。
發(fā)展階段
(1)早期階段(1960s-1980s):向量數(shù)據(jù)庫的研究主要集中在理論研究和技術(shù)探索上。研究人員們試圖找到一種有效的方法來存儲、檢索和管理向量數(shù)據(jù)。這個(gè)階段的代表性成果包括KDD-94會議和SIGMOD會議上的一系列論文。
(2)中期階段(1990s-2000s):在這個(gè)階段,向量數(shù)據(jù)庫的研究開始轉(zhuǎn)向?qū)嶋H應(yīng)用。許多企業(yè)和研究機(jī)構(gòu)開始關(guān)注向量數(shù)據(jù)庫技術(shù),并將其應(yīng)用于各種場景,如搜索引擎、數(shù)據(jù)挖掘、機(jī)器學(xué)習(xí)等。這個(gè)階段的代表性成果包括PostgreSQL的GiST索引模塊和Greenplum數(shù)據(jù)庫的并行處理能力。
(3)現(xiàn)代階段(2010s至今):向量數(shù)據(jù)庫的研究和應(yīng)用進(jìn)入了一個(gè)全新的階段。隨著大數(shù)據(jù)、云計(jì)算和人工智能等技術(shù)的發(fā)展,向量數(shù)據(jù)庫技術(shù)得到了更廣泛的應(yīng)用。同時(shí),許多新的向量數(shù)據(jù)庫系統(tǒng)應(yīng)運(yùn)而生,如Faiss、Annoy、Milvus等。這些系統(tǒng)不僅具有高性能、高可擴(kuò)展性,還支持多種查詢語言和接口,使得向量數(shù)據(jù)庫技術(shù)更加易于使用和推廣。
(部分)向量數(shù)據(jù)庫盤點(diǎn)
1. Tencent Cloud VectorDB:這是騰訊云提供的一塊全托管企業(yè)級分布式數(shù)據(jù)庫服務(wù),具有高性能、高可用和高安全的特性。融合騰訊自研的向量檢索引擎OLAMA,單索引支持百億級向量規(guī)模,廣泛應(yīng)用于計(jì)算機(jī)視覺、推薦系統(tǒng)以及智能客服等領(lǐng)域。
2.Milvus:作為開源的向量相似性搜索引擎,專為人工智能和機(jī)器學(xué)習(xí)應(yīng)用程序設(shè)計(jì)。它支持多種相似性度量標(biāo)準(zhǔn),并且具有很高的可擴(kuò)展性,使其成為大規(guī)模部署的熱門選擇。
3.Pinecone:這是一個(gè)關(guān)注簡單易用的托管向量數(shù)據(jù)庫服務(wù)。它提供了一個(gè)完全托管的、無服務(wù)器的環(huán)境,用于實(shí)時(shí)向量相似性搜索和推薦系統(tǒng),減輕了運(yùn)維負(fù)擔(dān)。
4.Vespa:實(shí)時(shí)大數(shù)據(jù)處理和搜索引擎,適用于各種應(yīng)用場景,包括搜索、推薦和廣告。Vespa 具有靈活的數(shù)據(jù)模型和內(nèi)置的機(jī)器學(xué)習(xí)功能,可以處理大規(guī)模數(shù)據(jù)集。
5.Weaviate:這是一個(gè)開源的知識圖譜向量搜索引擎,它使用神經(jīng)網(wǎng)絡(luò)將實(shí)體和關(guān)系映射到高維空間,以實(shí)現(xiàn)高效的相似性搜索。Weaviate 支持自然語言處理、圖查詢和模型訓(xùn)練等功能。
6.Vald:高度可擴(kuò)展、云原生的分布式向量搜索引擎,旨在處理大規(guī)模的向量數(shù)據(jù)。Vald 支持多種搜索算法,并通過Kubernetes部署和管理,提供高可用性和彈性。
7.GSI:Global State Index (GSI) 是一個(gè)分布式、可擴(kuò)展的向量搜索引擎,用于全球狀態(tài)估計(jì)。GSI 利用不同節(jié)點(diǎn)間的局部信息,通過一致性哈希和向量近似搜索來實(shí)現(xiàn)高效的全球狀態(tài)查詢。
8.Qdrant:開源、高性能的向量搜索引擎,支持大規(guī)模數(shù)據(jù)集。Qdrant 提供了強(qiáng)大的索引、過濾和排序功能,以及豐富的API,使其成為構(gòu)建復(fù)雜應(yīng)用程序的理想選擇。
9.Transwarp Hippo:企業(yè)級云原生分布式向量數(shù)據(jù)庫星環(huán)分布式向量數(shù)據(jù)庫Hippo作為一款企業(yè)級云原生分布式向量數(shù)據(jù)庫,基于分布式特性,可以對文檔、圖片、音視頻等多源、海量數(shù)據(jù)轉(zhuǎn)化后的多維向量進(jìn)行統(tǒng)一存儲和管理。通過多進(jìn)程架構(gòu)與GPU加速技術(shù),充分發(fā)揮并行檢索能力,實(shí)現(xiàn)毫秒級高性能數(shù)據(jù)檢索,結(jié)合相似度檢索等技術(shù),幫助用戶快速挖掘數(shù)據(jù)價(jià)值。
10.Elasticsearch:支持各種類型數(shù)據(jù)的分布式搜索和分析引擎。 Elasticsearch 支持的數(shù)據(jù)類型之一是矢量字段,它存儲密集的數(shù)值矢量。 在7.10 版本中,Elasticsearch 添加了對將向量索引到專用數(shù)據(jù)結(jié)構(gòu)的支持,以支持通過 kNN 搜索 API 進(jìn)行快速 kNN 檢索。 在 8.0 版本中,Elasticsearch 添加了對帶有向量場的原生自然語言處理 (NLP) 的支持。