目前,AIGC領(lǐng)域正處于蓬勃發(fā)展的階段,同時(shí)大規模數據集的使用和計算資源用量提升,也為AIGC業(yè)務(wù)架構底層的基礎設施提出了更高的要求。為了更好地支持AIGC業(yè)務(wù)的發(fā)展,UCloud在數據中心建設、網(wǎng)絡(luò )、文件存儲、主機鏡像市場(chǎng)等多個(gè)方面都提供了相關(guān)產(chǎn)品和解決方案。
數據庫方面,在云主機鏡像市場(chǎng)已支持Milvus向量數據庫的基礎上,UCloud云數據庫UDB中的PostgreSQL(以下簡(jiǎn)稱(chēng)UPgSQL)還新增支持了pgvector向量數據庫插件,持續在A(yíng)IGC業(yè)務(wù)架構中所涉及的向量數據庫環(huán)節完善產(chǎn)品支持。
pgvector的特點(diǎn)及使用場(chǎng)景
pgvector是PostgreSQL數據庫的擴展插件,其設計目的是讓用戶(hù)能夠在現有的PostgreSQL數據庫上實(shí)現向量搜索和計算,而無(wú)需引入額外的向量數據庫,主要特點(diǎn)如下:
和PostgreSQL數據庫深度集成
pgvector作為PostgreSQL數據庫的一個(gè)擴展插件,它允許在PostgreSQL數據庫中存儲和查詢(xún)向量數據,無(wú)需遷移數據或更改應用程序架構,從而降低了集成的復雜性。如果業(yè)務(wù)架構已經(jīng)在使用 PostgreSQL,而且希望快速地添加向量數據支持,pgvector是一個(gè)便捷的選擇。
SQL簡(jiǎn)單易用
pgvector使用標準SQL查詢(xún)語(yǔ)言,適合于熟悉SQL查詢(xún)的用戶(hù),而Milvus等專(zhuān)業(yè)向量數據庫則是提供了自己的查詢(xún)語(yǔ)言和 API。
數據模型可以靈活組合
pgvector允許用戶(hù)將向量數據存儲在表中的特定列中,同時(shí)允許將向量數據與其他屬性數據混合在一起。這種靈活性使得用戶(hù)可以在單一查詢(xún)中同時(shí)處理向量數據和其他結構化數據,從而滿(mǎn)足更廣泛的分析需求。
開(kāi)箱即用
UDB UPgSQL數據庫產(chǎn)品已經(jīng)內置了pgvector插件,可以在實(shí)例創(chuàng )建成功后直接開(kāi)始使用,無(wú)需進(jìn)行額外的配置。與Milvus等向量數據庫相比,這種集成方式減少了學(xué)習和配置的成本。
UCloud pgvector數據庫快速入門(mén)
pgvector最大支持創(chuàng )建16000個(gè)維度的向量, 并可以對最大2000個(gè)維度的向量建立索引。云數據庫UPgSQL默認已經(jīng)安裝并啟用pgvector插件,以下是商品搜索與推薦系統案例中使用pgvector的具體步驟:
1.在UCloud UPgSQL控制臺創(chuàng )建一臺PostgreSQL數據庫實(shí)例,通過(guò)Root用戶(hù)登錄數據庫。
2.創(chuàng )建一個(gè)商品表,其中包含商品的名稱(chēng)、描述和特征向量。
3.向商品表中插入一些商品數據,包括商品名稱(chēng)、描述以及與其相關(guān)的特征向量。
4. 當搜索商品時(shí),可以使用向量相似度來(lái)執行智能的商品搜索
5.基于用戶(hù)的歷史購買(mǎi)記錄或瀏覽行為,可以計算用戶(hù)的偏好向量,然后根據相似度來(lái)為用戶(hù)推薦其他商品。
6.創(chuàng )建索引:為了提高查詢(xún)效率, pgvector支持為向量數據建立IVF-Flat索引,可以通過(guò)下列語(yǔ)句創(chuàng )建索引。
創(chuàng )建索引語(yǔ)句的參數說(shuō)明:
●CREATE INDEX ON products表示在 "products" 表上創(chuàng )建一個(gè)新的索引。
●USING ivfflat: 這部分指定了要使用的索引方法,即 "ivfflat"。
●(vector_data vector_cosine_ops): "vector_data" 是列的名稱(chēng), "vector_cosine_ops" 是指向量余弦相似度操作符,這表明你希望使用余弦相似度來(lái)優(yōu)化這個(gè)索引。
●WITH (lists = 100): "lists" 參數設置為 100,是為了控制索引中的列表數量,以便在向量搜索時(shí)進(jìn)行更有效的查詢(xún)。
更多使用方法詳見(jiàn) pgvector官方文檔(https://github.com/pgvector/pgvector)
UDB作為UCloud云平臺的核心產(chǎn)品,為廣大用戶(hù)提供了多樣化的數據庫選擇,覆蓋了MySQL、PostgreSQL、SQL Server、MongoDB等常用數據庫品類(lèi)。UDB PostgreSQL數據庫支持pgvector插件后,可以通過(guò)創(chuàng )建UDB PostgreSQL數據庫快速獲得pgvector功能,無(wú)需額外的配置。
同時(shí),如果需要專(zhuān)業(yè)的向量數據庫功能,也可以使用UCloud鏡像市場(chǎng)中的Milvus鏡像,創(chuàng )建對應主機獲取Milvus向量數據庫服務(wù)。作為一款開(kāi)源向量數據庫,Milvus專(zhuān)注于高性能的向量數據存儲與檢索。它的設計旨在處理大規模的向量數據,包括圖像、文本、音頻等各個(gè)領(lǐng)域的向量特征。Milvus以高效的相似性搜索和向量計算為特色,滿(mǎn)足了多領(lǐng)域數據探索和分析的需求。