पाठ 20 / 28

Vectors कहाँ रहते हैं

Libraries, पहले से चलते databases के extensions और समर्पित vector databases की तुलना करें।

Library, extension या database

तीन व्यापक विकल्प। (1) FAISS जैसी in-process library: बहुत तेज़, प्रयोगों और अधिकतर-पढ़ने वाले डेटा के लिए बढ़िया, पर persistence, replication, filtering और अद्यतन आप ख़ुद सँभालते हैं। (2) पहले से चलते database का vector extension (जैसे PostgreSQL के लिए pgvector, या Elasticsearch/OpenSearch, MongoDB या Redis में vector search): vectors आपके relational डेटा और metadata के पास रहते हैं, आप backups, access control और transactions पुनः उपयोग करते हैं, और SQL से filtering स्वाभाविक है; प्रदर्शन बड़े पैमाने तक अच्छा है पर विशेष engines से पीछे हो सकता है। (3) समर्पित vector database (जैसे Qdrant, Milvus, Weaviate, Pinecone): scale, filtering, hybrid search, replication और संचालन के लिए बने, एक और system चलाने या ख़रीदने की क़ीमत पर। जो पहले से चलाते हैं उससे शुरू करें; मापी हुई ज़रूरतें (scale, latency, सुविधाएँ) माँगें तब विशेष engine पर जाएँ। इस शृंखला का अगला कोर्स vector databases की विस्तार से तुलना करता है।

संचित करें, अद्यतन करें, scale करें, सुरक्षित करें

चुनें vectors कहाँ रहें, उन्हें ताज़ा रखें, लागत नियंत्रित करें और जिस डेटा से बने उसकी रक्षा करें।

चार चिंताएँ: भंडारण, ताज़गी, scale, सुरक्षा।
चित्र 6.1 — भंडारण, ताज़गी, scale और सुरक्षा।

कहाँ से शुरू करें

मोटी मार्गदर्शिका; प्रतिबद्ध होने से पहले मापें।

Situation                                        Reasonable start
experiment / notebook / offline batch              FAISS or numpy (flat)
already on PostgreSQL, < ~ tens of millions        pgvector (+ SQL filters)
already on Elasticsearch/OpenSearch, want hybrid   its vector + BM25 search
large scale, heavy filtering, many tenants         dedicated vector database
unsure                                             start simple; keep an abstraction so you can move

Store को interface के पीछे छिपाएँ

add, delete और search वाला छोटा wrapper बाद में app दोबारा लिखे बिना engine बदलने देता है।

त्वरित जाँच: पहले से चलते database में vector extension का एक लाभ क्या है?

  • यह हर विकल्प से हमेशा तेज़ है
  • Vectors आपके डेटा के साथ रहते हैं, backups, access control और SQL filters पुनः उपयोग होते हैं
  • इसे भंडारण नहीं चाहिए
  • यह embeddings की ज़रूरत हटाता है
Answer

Vectors आपके डेटा के साथ रहते हैं, backups, access control और SQL filters पुनः उपयोग होते हैं — एक system चलाना अक्सर दो से बेहतर है, जब तक scale कुछ और न माँगे।