विभाजन बनाना
Milvus आपको वेक्टर डेटा को कुछ विभाजनों में विभाजित करने की अनुमति देता है। खोज और अन्य ऑपरेशन एक ही विभाजन में सीमित किए जा सकते हैं ताकि प्रदर्शन में सुधार हो सके।
कलेक्शन में एक से अधिक विभाजन होता है। एक नई कलेक्शन बनाते समय, Milvus डिफ़ॉल्ट विभाजन _default
बनाएगा।
निम्नलिखित उदाहरण में कलेक्शन book
में novel
नामक एक विभाजन स्थापित किया गया है।
from pymilvus import Collection
collection = Collection("book") # मौजूदा कलेक्शन प्राप्त करें
collection.create_partition("novel")
पैरामीटर | विवरण |
---|---|
partition_name |
बनाने के लिए विभाजन का नाम। |
description (वैकल्पिक) |
बनाने के लिए विभाजन का विवरण। |
सीमाएँ
विशेषता | अधिकतम सीमा |
---|---|
कलेक्शन में विभाजनों की संख्या | 4,096 |
विभाजन की मौजूदगी की पुष्टि करना
निर्दिष्ट कलेक्शन में क्या कोई विशिष्ट विभाजन मौजूद है या नहीं, इसकी पुष्टि करें।
from pymilvus import Collection
collection = Collection("book") # मौजूदा कलेक्शन प्राप्त करें
collection.has_partition("novel")
सभी विभाजनों की सूची बनाना
from pymilvus import Collection
collection = Collection("book") # मौजूदा कलेक्शन प्राप्त करें
collection.partitions
विभाजन हटाना
from pymilvus import Collection
collection.drop_partition("novel")
विभाजन लोड करना
सम्पूर्ण कलेक्शन को लोड करने की बजाय एक विभाजन को मेमोरी में लोड करना मेमोरी उपयोग को काफी कम कर सकता है। Milvus में सभी खोज और पूछताछ ऑपरेशन मेमोरी में किए जाते हैं।
संस्करण 2.3.0 से शुरू करके, Milvus ने अपनी विभाजन ऑपरेशन को बढ़ाया है और कैस्केडिंग लोडिंग और रिलीजिंग ऑपरेशन्स का समर्थन किया है। इसका मतलब है कि आप निम्नलिखित किसी भी संयोजन को कर सकते हैं:
- एक लोडेड कलेक्शन को लोड करें।
- एक कलेक्शन को लोड करें, फिर कलेक्शन में विशिष्ट विभाजनों को लोड करें।
- एक विभाजन को लोड करें, फिर विभाजन को जिसका भाग है, वहीं वापस लोड करें।
- एक विभाजन को लोड करें और पुनः लोड करें उससे पहले रिलीज करें।
Milvus उपयोगकर्ताओं को विभाजनों को एक ही मान की संख्या में लोड करने की अनुमति देता है ताकि वे अतिरिक्त क्वेरी नोड्स के CPU और मेमोरी संसाधनों का उपयोग कर सकें। यह सुविधा वर्तमान संस्करण में PyMilvus के माध्यम से समर्थित है।
from pymilvus import Collection
collection = Collection("book") # मौजूदा कलेक्शन प्राप्त करें
collection.load(["novel"], replica_number=2)
from pymilvus import Partition
partition = Partition("novel") # मौजूदा विभाजन प्राप्त करें
partition.load(replica_number=2)
रिप्लिका सूचना प्राप्त करना
आप लोडेड रिप्लिका के बारे में जानकारी देख सकते हैं।
from pymilvus import Partition
partition = Partition("novel") # मौजूदा विभाजन प्राप्त करें
partition.load(replica_number=2) # 2 रिप्लिका के साथ विभाजन लोड करें
result = partition.get_replicas()
print(result)
विभाजन रिलीज करना
संस्करण 2.3.0 से शुरू करके, Milvus ने अपनी विभाजन ऑपरेशन को बढ़ाया है और कैस्केडिंग लोडिंग और रिलीजिंग ऑपरेशन्स का समर्थन किया है। इसका मतलब है कि आप निम्नलिखित किसी भी संयोजन को कर सकते हैं:
- एक लोडेड कलेक्शन को रिलीज करें।
- लोडेड कलेक्शन में विशिष्ट विभाजनों को रिलीज करें।
- एक लोडेड विभाजन को रिलीज करें।
- एक कलेक्शन में आंशिक रूप से लोडेड विभाजनों को रिलीज करें।
from pymilvus import Partition
partition = Partition("novel") # मौजूदा विभाजन प्राप्त करें
partition.release()