Bölümler oluşturma
Milvus, vektör verilerini birkaç bölüme ayırmanıza olanak tanır. Aramalar ve diğer işlemler, performansı iyileştirmek için tek bir bölümle sınırlanabilir.
Bir koleksiyon, bir veya daha fazla bölümden oluşur. Yeni bir koleksiyon oluşturulurken, Milvus varsayılan bir bölüm olan _default
oluşturur.
Aşağıdaki örnek, book
koleksiyonunda novel
adında bir bölüm oluşturur.
from pymilvus import Collection
collection = Collection("book") # Var olan bir koleksiyonu al
collection.create_partition("novel")
Parametre | Açıklama |
---|---|
partition_name |
Oluşturulacak bölümün adı. |
description (isteğe bağlı) |
Oluşturulacak bölümün açıklaması. |
Sınırlamalar
Özellik | Maksimum Sınır |
---|---|
Bir koleksiyondaki bölüm sayısı | 4,096 |
Bölümün varlığını doğrulama
Belirtilen koleksiyonda belirli bir bölümün var olup olmadığını doğrulayın.
from pymilvus import Collection
collection = Collection("book") # Var olan bir koleksiyonu al
collection.has_partition("novel")
Tüm bölümlerin listesi
from pymilvus import Collection
collection = Collection("book") # Var olan bir koleksiyonu al
collection.partitions
Bölüm silme
from pymilvus import Collection
collection.drop_partition("novel")
Bölüm yükleme
Tüm koleksiyonu yükleme yerine bir bölümü yüklemek, bellek kullanımını önemli ölçüde azaltabilir. Milvus'taki tüm arama ve sorgu işlemleri bellekte gerçekleştirilir.
2.3.0 sürümünden itibaren, Milvus bölüm işlemlerini geliştirmiş ve kademeli yükleme ve serbest bırakma işlemlerini desteklemektedir. Bu, aşağıdaki işlemlerin herhangi bir kombinasyonunu gerçekleştirebileceğiniz anlamına gelir:
- Yüklenmiş bir koleksiyonu yükleme.
- Bir koleksiyonun belirli bölüm(ler)ünü yükleme.
- Bir bölümü yükleme, ardından bölümün ait olduğu koleksiyonu yükleme.
- Bir bölümü yükleme ve önce onu geri yükleme.
Milvus, kullanıcılara CPU ve bellek kaynaklarını kullanarak bölümleri çoklu kopyalar halinde yüklemelerine olanak tanır. Bu özellik mevcut sürümde PyMilvus üzerinden desteklenmektedir.
from pymilvus import Collection
collection = Collection("book") # Var olan bir koleksiyonu al
collection.load(["novel"], replica_number=2)
from pymilvus import Partition
partition = Partition("novel") # Var olan bir bölümü al
partition.load(replica_number=2)
Kopya bilgisi alma
Yüklenmiş kopyalar hakkında bilgi alabilirsiniz.
from pymilvus import Partition
partition = Partition("novel") # Var olan bir bölümü al
partition.load(replica_number=2) # 2 kopya ile bölümü yükle
result = partition.get_replicas()
print(result)
Bölümü serbest bırakma
Arama veya sorgudan sonra bellek kullanımını azaltmak için bir bölümü bellekten nasıl serbest bırakacağınız.
2.3.0 sürümünden itibaren, Milvus bölüm işlemlerini geliştirmiş ve kademeli yükleme ve serbest bırakma işlemlerini desteklemektedir. Bu, aşağıdaki işlemlerin herhangi bir kombinasyonunu gerçekleştirebileceğiniz anlamına gelir:
- Yüklenmiş bir koleksiyonu serbest bırakma.
- Yüklenmiş bir koleksiyonda belirli bölüm(leri) serbest bırakma.
- Yüklenmiş bir bölümü serbest bırakma.
- Bir koleksiyonda kısmen yüklenmiş bölümleri serbest bırakma.
from pymilvus import Partition
partition = Partition("novel") # Var olan bir bölümü al
partition.release()