自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何使用內(nèi)存中副本提高矢量數(shù)據(jù)庫的讀取吞吐量

譯文
數(shù)據(jù)庫
使用內(nèi)存中的副本可以提高矢量數(shù)據(jù)庫的讀取吞吐量和硬件資源的利用率。

譯者 | 李睿

審校 | 孫淑娟

在正式發(fā)布之后,Milvus 2.1增加了許多新功能,例如內(nèi)存副本、支持字符串數(shù)據(jù)類型、嵌入式Milvus、可調(diào)一致性、用戶身份驗證和傳輸中的加密,以提供便利和更好的用戶體驗。雖然內(nèi)存中副本的概念對于分布式數(shù)據(jù)庫來說并不新鮮,但它是一個關(guān)鍵功能,可以幫助用戶輕松提高系統(tǒng)性能、提高數(shù)據(jù)庫讀取吞吐量,并提高硬件資源的利用率。

因此,本文首先解釋了內(nèi)存中的副本是什么以及為什么它很重要的原因,然后介紹了如何在人工智能的矢量數(shù)據(jù)庫Milvus中啟用這一新功能。  

與內(nèi)存中副本相關(guān)的概念  

在了解內(nèi)存中副本是什么以及為什么這么重要之前,需要先了解一些相關(guān)概念,其中包括副本組、分片副本、流副本、歷史副本和分片領(lǐng)導(dǎo)者。下圖是這些概念的說明。  

副本概念  

(1)副本組  

副本組由負責(zé)處理歷史數(shù)據(jù)和副本的多個查詢節(jié)點組成。更具體地說,Milvus向量數(shù)據(jù)庫中的查詢節(jié)點檢索增量日志數(shù)據(jù),并通過訂閱日志代理、從對象存儲中加載歷史數(shù)據(jù)以及在向量和標量數(shù)據(jù)之間運行混合搜索,將其轉(zhuǎn)變成為不斷增長的片段。

(2)分片副本  

一個分片副本由一個流副本和一個歷史副本組成,它們都屬于同一個分片(即數(shù)據(jù)操作語言通道,在Milvus中縮寫為DML通道)。多個分片副本組成一個副本組。并且副本組中的分片副本的確切數(shù)量由指定集合中的分片數(shù)量決定。  

(3)流副本  

流副本包含來自同一DML通道的所有不斷增長的段。不斷增長的段不斷接收新插入的數(shù)據(jù),直到它被密封。從技術(shù)上講,一個流副本應(yīng)該由一個副本中的一個查詢節(jié)點提供服務(wù)。  

(4)歷史副本 

歷史副本包含來自同一DML通道的所有密封段。密封段不再接收任何新數(shù)據(jù),并將被刷新到對象存儲中,將新數(shù)據(jù)插入到新創(chuàng)建的增長段中。一個歷史副本的密封段可以分布在同一副本組內(nèi)的多個查詢節(jié)點上。  

(5)分片領(lǐng)導(dǎo)者  

分片領(lǐng)導(dǎo)者是為分片副本中的流式副本提供服務(wù)的查詢節(jié)點。  

什么是內(nèi)存副本?  

啟用內(nèi)存中副本允許用戶將數(shù)據(jù)加載到多個查詢節(jié)點上的集合中,以便可以利用額外的CPU和內(nèi)存資源。換句話說,當在集合中加載數(shù)據(jù)并指定要將其作為兩個副本加載時,最終將在兩個查詢節(jié)點上擁有兩個數(shù)據(jù)副本。如果有一個相對較小的數(shù)據(jù)集,但希望增加讀取吞吐量,并提高硬件資源的利用率,則內(nèi)存中副本的功能非常有用。  

在默認情況下,Milvus矢量數(shù)據(jù)庫目前在內(nèi)存中為每個段保存一個副本。但是,使用內(nèi)存中的副本,用戶可以在不同的查詢節(jié)點上對一個段進行多次復(fù)制。這意味著如果一個查詢節(jié)點正在對某個段進行搜索,則可以將傳入的新搜索請求分配給另一個空閑查詢節(jié)點,因為該查詢節(jié)點具有完全相同的段的復(fù)制。其好處是不必再次重新加載數(shù)據(jù)。用戶無需執(zhí)行任何操作,空閑查詢節(jié)點會自動進行搜索或查詢,因為該查詢節(jié)點已經(jīng)復(fù)制并接收了數(shù)據(jù)。  

此外,如果有多個內(nèi)存中的副本,可以更好地應(yīng)對查詢節(jié)點崩潰的情況。如果沒有內(nèi)存中的副本,則必須等待段重新加載才能繼續(xù)并在另一個查詢節(jié)點上搜索。但是,通過內(nèi)存復(fù)制,可以立即將搜索請求重新發(fā)送到新的查詢節(jié)點,而無需再次重新加載數(shù)據(jù),如下圖所示: 

內(nèi)存中的副本  

為什么內(nèi)存中的副本很重要?  

啟用內(nèi)存中副本的最顯著好處之一是整體QPS(每秒查詢數(shù))和吞吐量的增加。如果在使用Milvus矢量數(shù)據(jù)庫時啟用了內(nèi)存中的副本,將能夠看到系統(tǒng)性能的巨大飛躍。此外,使用內(nèi)存中的副本,可以維護多個段副本,并且系統(tǒng)在面對故障轉(zhuǎn)移時更具彈性,就像上面的示例一樣。  

在Milvus矢量數(shù)據(jù)庫中啟用內(nèi)存中的副本  

在Milvus矢量數(shù)據(jù)庫中啟用內(nèi)存中副本的新功能很容易。需要做的只是在加載集合時指定所需的副本數(shù)量(即調(diào)用collection.load( ))。  

在下面的教程中,將使用包含書籍信息的集合的示例。假設(shè)已經(jīng)創(chuàng)建了一個名為“book”的集合,并將數(shù)據(jù)插入其中。然后,可以指定在加載集合數(shù)據(jù)時要創(chuàng)建的副本數(shù)。下面的示例代碼將集合加載為兩個副本。  

from pymilvus import Collection
collection = Collection("book") # Get an existing collection.
collection.load(replica_number=2) # load collection as 2 replicas

用戶可以靈活修改上述示例代碼中的副本數(shù),以最適合應(yīng)用場景。然后可以直接對多個副本進行向量相似性搜索或查詢,而無需運行任何額外的命令。但是,應(yīng)該注意,允許的最大副本數(shù)受到運行查詢節(jié)點的可用內(nèi)存總量的限制。如果指定的副本數(shù)量超過可用內(nèi)存的限制,則在數(shù)據(jù)加載期間將返回錯誤。

用戶還可以通過運行collection.get_replicas()檢查其創(chuàng)建的內(nèi)存中副本的信息。將返回副本組的信息以及相應(yīng)的查詢節(jié)點和分片。以下是輸出示例:  

Replica groups:
- Group: <group_id:435309823872729305>, <group_nodes:(21, 20)>, <shards:[Shard: <channel_name:milvus-zong-rootcoord-dml_27_435367661874184193v0>, <shard_leader:21>, <shard_nodes:[21]>, Shard: <channel_name:milvus-zong-rootcoord-dml_28_435367661874184193v1>, <shard_leader:20>, <shard_nodes:[20, 21]>]>
- Group: <group_id:435309823872729304>, <group_nodes:(25,)>, <shards:[Shard: <channel_name:milvus-zong-rootcoord-dml_28_435367661874184193v1>, <shard_leader:25>, <shard_nodes:[25]>, Shard: <channel_name:milvus-zong-rootcoord-dml_27_435367661874184193v0>, <shard_leader:25>, <shard_nodes:[25]>]>

原文標題:??Increase Your Vector Database Read Throughput with In-Memory Replicas???,作者:Angela Ni?

責(zé)任編輯:華軒 來源: 51CTO
相關(guān)推薦

2019-09-25 08:37:48

MySQL數(shù)據(jù)庫人生第一份工作

2019-09-29 15:36:01

吞吐量MySQL數(shù)據(jù)庫

2013-10-11 11:22:14

GraphDBLinux內(nèi)存管理數(shù)據(jù)庫

2023-02-09 08:57:11

Callable異步java

2024-09-12 15:24:29

2024-09-09 14:12:38

2024-05-23 16:41:40

2023-08-03 14:18:29

Rust阻塞函數(shù)

2023-11-07 15:11:46

Kafka技巧

2013-04-19 09:45:20

AMPLabHadoopHDFS

2019-08-20 00:20:47

TCPHOL吞吐量

2009-07-27 13:26:45

數(shù)據(jù)吞吐量測試測試網(wǎng)速

2013-04-25 10:38:40

思科存儲交換機

2019-08-14 08:20:59

Iperf網(wǎng)絡(luò)吞吐量帶寬測試

2024-06-28 09:39:58

2024-11-08 13:36:09

2009-02-24 09:28:00

2024-12-27 13:59:33

數(shù)據(jù)訓(xùn)練模型

2024-07-08 08:00:00

2010-08-23 10:16:09

點贊
收藏

51CTO技術(shù)棧公眾號