Milvus Vector डेटाबेस क्या है?
Milvus को 2019 में बनाया गया था, मुख्य उद्देश्य था गहरी न्यूरल नेटवर्क और अन्य मशीन लर्निंग (ML) मॉडल्स द्वारा उत्पन्न बड़े पैमाने पर एम्बेडिंग वेक्टर्स को संचित, सूचीबद्ध और प्रबंधित करना था।
Milvus, इनपुट वेक्टर क्वेरी को संभालने के लिए विशेष रूप से डिज़ाइन किया गया डेटाबेस है, Milvus बिलियनों के पैमाने पर वेक्टरों को सूचीबद्ध कर सकता है। पूर्व मौखिक डेटाबेस की तरह, जो मुख्य रूप से पूर्व परिभाषित पैटर्न और संरचित डेटा से न्यूनिकृत हैं, Milvus को निर्माण होने से सिरे से यूंही वेक्टरों को हैंडल करने के लिए विन्यासित किया गया है।
इंटरनेट के लगातार विस्तार के साथ, असंरचित डेटा बढ़ता जा रहा है, जिसमें ईमेल, पेपर, IoT सेंसर डेटा, फेसबुक फोटो, प्रोटीन संरचनाएँ, और अन्य शामिल हैं। कंप्यूटरों को असंरचित डेटा को समझने और प्रोसेस करने के लिए, ये डेटा एम्बेडिंग तकनीक का उपयोग करके वेक्टर्स में परिवर्तित किए जाने की आवश्यकता है। Milvus इन वेक्टर्स को स्टोर और सूचीबद्ध करता है। Milvus इन वेक्टर्स के बीच समानता दूरी का विश्लेषण करके दो वेक्टर्स के बीच की समानता दूरी का विश्लेषण करके, उनके संबंध का अंकलन कर सकता है। अगर दो एम्बेडिंग वेक्टर्स बहुत समान हैं, तो इससे यह संकेत मिलता है कि मूल डेटा स्रोत भी समान हैं।
Milvus Workflow:
मुख्य अवधारणाएँ
यदि आप वेक्टर डेटाबेस और समानता खोज के विश्व से निर्धारित नहीं हैं, तो निम्नलिखित मुख्य अवधारणाएँ सहायक पाएंगे।
जानें Milvus अंशों के बारे में।
असंरचित डेटा
असंरचित डेटा, जैसे छवियां, वीडियो, ऑडियो, और प्राकृतिक भाषा, पूर्वनिर्धारित मॉडल या संगठित संरचना का पालन नहीं करने वाली जानकारी से संबंधित है। इस डेटा प्रकार का लगभग 80% वैश्विक डेटा का हिस्सा है और इसे विभिन्न artificial intelligence (AI) और machine learning (ML) मॉडल्स का उपयोग करके वेक्टर्स में परिवर्तित किया जा सकता है।
एम्बेडिंग वेक्टर्स
एम्बेडिंग वेक्टर्स, असंरचित डेटा (जैसे ईमेल, IoT सेंसर डेटा, इंस्टाग्राम फोटो, प्रोटीन संरचनाएँ, आदि) के फीचर संक्षेप हैं। गणितीय दृष्टिकोण से, एम्बेडिंग वेक्टर्स में फ्लोटिंग-प्वाइंट नंबर या बाइनरी एरे होते हैं। आधुनिक एम्बेडिंग तकनीक का उपयोग असंरचित डेटा को एम्बेडिंग वेक्टर्स में परिवर्तित करने के लिए किया जाता है।
वेक्टर समानता खोज
वेक्टर समानता खोज में एक वेक्टर को डेटाबेस के सबसे समान वेक्टर को खोजने का मतलब होता है। अप्रमाणिक पास संबंधित (ANN) खोज एल्गोरिदम का उपयोग सर्च प्रक्रिया को तेजी से बढ़ा सकता है। अगर दो एम्बेडिंग वेक्टर्स बहुत समान हैं, तो इससे यह संकेत मिलता है कि मूल डेटा स्रोत भी समान हैं।
Milvus क्यों चुनें?
- बड़े पैमाने पर डेटासेट पर वेक्टर सर्च के लिए उच्च प्रदर्शन।
- मल्टी भाषा और टूलचेन सपोर्ट के साथ डेवलपर-केंद्रित समुदाय समर्थन।
- बादल में स्केलेबिलिटी और उच्च विश्वसनीयता, और संकट के मामले में भी स्थिरता बनाए रखने की क्षमता।
- वेक्टर समानता खोज के साथ स्केलर फिल्टरिंग को मिलाकर मिश्रित सर्च को संभव बनाता है।
कौन-कौन से इंडेक्स और मैट्रिक मानक समर्थित हैं?
संरचनाएँ डेटा की संगठनात्मक इकाइयां होती हैं। आपको डाली गई एंटिटियों की खोज या पुनरावृत्ति करने से पहले, आपको इंडेक्स प्रकार और समानता मैट्रिक मानक का घोषणा करनी होती है। अगर आप इंडेक्स प्रकार की घोषणा नहीं करते हैं, तो Milvus ब्रूट फोर्स सर्च का उपयोग करने की डिफ़ॉल्ट करता है।
इंडेक्स प्रकार
Milvus कम से कम पूरी तरह से सटीक और सटीक खोज परिणाम खोजने के लिए उपयुक्त बड़े-पैमाने (मिलियनों) डेटासेट पर FLAT का समर्थन करता है।
- IVF_FLAT: क्वांटिज़ेशन इंडेक्स पर आधारित, उपयुक्त है जब नीयती तथा क्यूरी गति के बीच एक आदर्श संतुलन की तलाश हो। इसका GPU संस्करण GPU_IVF_FLAT भी है।
- IVF_SQ8: क्वांटिज़ेशन इंडेक्स पर आधारित, विचार करने वाले संसाधनों के बहुत ही सीमित संसाधनों के संचय की वजह से डिस्क, सीपीयू, और जीपीयू मेमोरी खपने में बड़ी कमी देखने के उचित है।
- IVF_PQ: क्वांटिज़ेशन इंडेक्स पर आधारित, यह उपयुक्त है जब आप सटीकता का नुकसान करते हुए भी उच्च क्वेरी गति की तलाश कर रहे हैं। इसका GPU संस्करण GPU_IVF_PQ भी है।
- HNSW: ग्राफ इंडेक्स पर आधारित, यह खोज प्रदर्शन के लिए बहुत अधिक मांग रखने वाले स्थितियों के लिए उपयुक्त है।
अधिक विस्तृत जानकारी के लिए, कृपया वेक्टर इंडेक्समें देखें।
समानता माप
Milvus में, समानता मेट्रिक्स का उपयोग वेक्टर के बीच संवाद करने के लिए किया जाता है। एक अच्छा दूरी मापन मैट्रिक्स चयन और वर्गीयकरण और गुच्छीकरण प्रदर्शन के लिए महत्वपूर्ण है। इनपुट डेटा के रूप के आधार पर, विशिष्ट समानता मापनों का चयन श्रेष्ठ प्रदर्शन प्राप्त करने के लिए किया जाता है।
फ्लोटिंग-प्वाइंट एम्बेडिंग के लिए सामान्य मापन मापन:
- Euclidean distance (L2): यह मेट्रिक कंप्यूटर विज्ञान के क्षेत्र में सामान्य रूप से उपयोग की जाती है
नमूना अनुप्रयोग
Milvus को अपने अनुप्रयोगों में समानता खोज जोड़ना बहुत आसान बनाता है। Milvus के नमूना अनुप्रयोग शामिल हैं:
- छवि समानता खोज: छवियों को खोजने में सहायक होता है और बड़े डेटाबेस से सबसे समान छवियों को तत्काल वापसी देता है।
- वीडियो समानता खोज: कुंजी-फ्रेम्स को वेक्टर में रूपांतरित करके और उसके फलांत को Milvus में डालकर, यह अरबों वीडियो की तलाश और सुझाव दे सकता है अभिलभ समय में।
- ऑडियो समानता खोज: जल्दी से बड़े परिमाण की ऑडियो डेटा, जैसे भाषण, संगीत, ध्वनि प्रभाव और समान आवाज कि जानकारी पूछताछ करता है।
- सिफारिश प्रणाली: उपयोगकर्ता के व्यवहार और आवश्यकताओं पर आधारित सूचना या उत्पादों की सिफारिश करता है।
- प्रश्न-जवाब प्रणाली: सक्रिय डिजिटल प्रश्न-उत्तर चैटबॉट्स जो उपयोगकर्ता के प्रश्नों का स्वचालित उत्तर दे सकते हैं।
- डीएनए सरणी वर्गीकरण: समान डीएनए अनुक्रमों की तुलना करके मिलिसेकंड में जीनों को मिलिसेकंड में सही ढंग से वर्गीकृत करता है।
- पाठ खोज इंजन: प्रयोक्ताओं के साथ की जाने वाली कीवर्ड से पाठ डेटाबेस की तुलना करके, उन्हें वह सूचना ढूंढने में मदद करता है।
Milvus का डिजाइन अवधारणा
एक क्लाउड-आधारित वेक्टर डेटाबेस के रूप में, Milvus अपने डिजाइन में संग्रहण से गणना को अलग करता है। लचीलाता और और मेलजोलिता बढ़ाने के लिए, Milvus में सभी घटक स्थिरता रहित हैं।
सिस्टम चार परतों में विभाजित है:
- पहुंच परत: सिस्टम के सामने की परत के रूप में सेवानहीन प्रॉक्सी समूह, यह सिस्टम के सेंट्रल हब के रूप में कार्य करती है और उपयोगकर्ताओं के लिए अंतःस्थल होती है।
- समन्वय सेवा: यह सेवा कर्मी नोडों को कार्यों को आवंटित करती है और सिस्टम के केंद्रीय हब के रूप में कार्य करती है।
- कर्मी नोड: ये नोड सिस्टम की बाहों और पैर के रूप में कार्य करते हैं, समन्वय सेवा से मिलीबजु निर्देशों का पालन करते हैं और उपयोगकर्ताओं द्वारा ट्रिगर किए गए डीएमएल/डीडीएल कमांड को नासमझते हुए कार्यान्वयन करते हैं।
- संग्रहण: डेटा स्थायित्व के लिए सिस्टम की मांग सलामत रखने वाले सरंचना होती है। इसमें मेटाडेटा संग्रहण, लॉग एजेंट्स, और ऑब्जेक्ट स्टोरेज शामिल है।
.
डेवलपर उपकरण
Milvus डेवलपमेंट और परिचालन के लिए यों API और उपकरणों का एक समृद्ध सेट प्रदान करता है।
एपीआई पहुंच
Milvus एपीआई के चारों ओर लिपिये गये क्लाइंट पुस्तकालय प्रदान करता है, जिन्हें प्रोग्रामात्मकता से, अनुप्रयोग कोड से डाटा डालने, मिटाने, और पूछताछ किया जा सकता है:
- पाईMilvus
- नोड.जेएस एसडीके
- गो एसडीके
- जावा एसडीके
Milvus एकोसिस्टम उपकरण
Milvus एकोसिस्टम कई उपयोगी उपकरणों को प्रदान करता है, जैसे:
- Milvus CLI
- Attu: Milvus के लिए एक ग्राफिकल प्रबंधन सिस्टम।
- MilvusDM (Milvus डेटा प्रसारण): एक ओपन-सोर्स उपकरण विशेष रूप से Milvus के साथ डेटा आयात और निर्यात के लिए।
- Milvus क्षमता योजना उपकरण: विभिन्न सूचक टाइप के माध्यम से आवश्यक कच्चे फाइल साइज, मेमोरी साइज, और स्थिर डिस्क साइज का अनुमान लगाने में सहायता करता है।
Milvus की सीमाएं
Milvus AI अनुप्रयोगों और वेक्टर समानता खोज को ड्राइव करने के लिए सर्वश्रेष्ठ वेक्टर डेटाबेस प्रदान करने के लिए समर्पित है। हालांकि, टीम सतत रूप से उपयोगकर्ता अनुभव को बढ़ाने के लिए अधिक सुविधाएँ और आदर्श उपकरण प्रस्तुत करने के लिए काम कर रही है। इस पृष्ठ दर्शाता है कुछ जानी गयी सीमाएं जो Milvus का उपयोग करते समय उपयोगकर्ताओं को आ सकती है।
संसाधन नामों की लंबाई
संसाधन | सीमा |
---|---|
संग्रह | 255 अक्षर |
क्षेत्र | 255 अक्षर |
सूचक | 255 अक्षर |
विभाजन | 255 अक्षर |
नामकरण नियम
संसाधन नामों में संख्याएँ, अक्षर, और अंडरस्कोर (_) शामिल हो सकते हैं। नामों को अक्षर या अंडरस्कोर से आरम्भ करना चाहिए।
संसाधनों की संख्या
संसाधन | सीमा |
---|---|
संग्रह | 65,536 |
कनेक्शन/एजेंट | 65,536 |
संग्रहों में संसाधनों की संख्या
संसाधन | सीमा |
---|---|
विभाजन | 4,096 |
शार्ड | 64 |
क्षेत्र | 64 |
सूचक | 1 |
एंटिटी | असीमित |
स्ट्रिंग लंबाई
डेटा प्रकार | सीमा |
---|---|
VARCHAR | 65,535 |
वेक्टर आयाम
गुणात्मक | सीमा |
---|---|
आयाम | 32,768 |
प्रत्येक आरपीसी के लिए प्रवेश और निकासी
संचालन | सीमा |
---|---|
डालना संचालन | 512 MB |
खोज संचालन | 512 MB |
पूछताछ संचालन | 512 MB |
लोड सीमा
वर्तमान संस्करण में, लोड करने के वाले डेटा को समयक संसाधनों के सभी क्वेरी नोडों की कुल मेमोरी संसाधनों के 90% के भीतर होना चाहिए ताकि कार्य इंजन के लिए मेमोरी संसाधनों को आरक्षित किया जा सके।
खोज सीमा
वेक्टर | सीमा |
---|---|
topk (वापसी के लिए सबसे समान परिणामों की संख्या) |
16,384 |
nq (खोज अनुरोधों की संख्या) |
16,384 |