Vector database — پایگاه‌های داده برداری

From Systems analysis Wiki
Jump to navigation Jump to search

پایگاه‌های داده برداری سیستم‌های تخصصی ذخیره‌سازی و جستجو هستند که برای کار با بازنمایی‌های عددی چندبُعدی (بردارها) داده‌های غیرساختاریافته بهینه شده‌اند[1]. در بستر مدل‌های زبانی بزرگ (LLM)، این پایگاه‌ها جستجوی معنایی کارآمد را فراهم می‌کنند و مؤلفه‌ای کلیدی در سیستم‌های هوش مصنوعی مدرن، به‌ویژه در معماری RAG، به شمار می‌روند.

برخلاف پایگاه‌های داده رابطه‌ای سنتی که بر تطابق دقیق تمرکز دارند، پایگاه‌های داده برداری در جستجوی تقریبی نزدیک‌ترین همسایه (Approximate Nearest Neighbor, ANN) تخصص دارند و اشیای معناً نزدیک را در فضای چندبُعدی می‌یابند[2].

مبانی پایگاه‌های داده برداری

Embeddings - بازنمایی‌های برداری

بازنمایی‌های برداری (embeddings) نمایش‌های عددی متن، تصویر، صوت و دیگر انواع داده به شکل بردار هستند. اصل کلیدی این است که اشیای معناً نزدیک (مثلاً کلماتی با معنای مشابه) در این فضای برداری در کنار یکدیگر قرار می‌گیرند[3].

embeddingهای متنی مدرن با استفاده از مدل‌هایی بر پایه معماری transformer ساخته می‌شوند که از مکانیزم‌های توجه (self-attention) برای درک زمینه بهره می‌گیرند. ابعاد این بازنمایی‌ها برای اکثر مدل‌های مدرن از ۲۵۶ تا ۱۰۲۴ بُعد و بیشتر متغیر است[4].

معیارهای شباهت

برای سنجش «فاصله» یا شباهت میان بردارها از معیارهای گوناگونی استفاده می‌شود:

  • شباهت کسینوسی (cosine similarity): کسینوس زاویه میان دو بردار را اندازه می‌گیرد. برای embeddingهای متنی بسیار مؤثر است، زیرا جهت بردارها را به جای بزرگی آن‌ها در نظر می‌گیرد[5].
  • فاصله اقلیدسی (L2): فاصله خط‌راست استاندارد میان دو نقطه در فضا.
  • حاصل‌ضرب داخلی (dot product): مشابه شباهت کسینوسی، اما نرمال‌سازی نشده است[6].

الگوریتم‌های نمایه‌سازی

برای جستجوی سریع در فضاهای چندبُعدی از الگوریتم‌های تخصصی ANN استفاده می‌شود.

HNSW (Hierarchical Navigable Small World)

الگوریتم HNSW از مفهوم «دنیای کوچک» و ساختار گراف سلسله‌مراتبی چندلایه بهره می‌برد. لایه‌های بالایی حاوی پیوندهای بلند برای جابجایی سریع در فضا (جستجوی درشت) هستند و لایه‌های پایینی پیوندهای کوتاه برای یافتن دقیق همسایگان دارند. HNSW پیچیدگی زمانی لگاریتمی O(log N) دارد و گزینه ترجیحی برای اکثر پایگاه‌های داده برداری مدرن است[7].

IVF (Inverted File)

الگوریتم IVF فضا را با استفاده از خوشه‌بندی k-means به خوشه‌ها تقسیم می‌کند. جستجو در تعداد محدودی از نزدیک‌ترین خوشه‌ها انجام می‌شود که فرآیند را به طور قابل توجهی تسریع می‌کند. تعداد خوشه‌ها معمولاً به صورت √N انتخاب می‌شود، که در آن N تعداد کل بردارهای موجود در dataset است[8].

LSH (Locality-Sensitive Hashing)

الگوریتم LSH از خانواده‌ای از توابع درهم‌سازی استفاده می‌کند که با احتمال بالا برای بردارهای نزدیک، هش‌های یکسان تولید می‌کنند. این امر گروه‌بندی سریع اشیای مشابه را ممکن می‌سازد[9].

پایگاه‌های داده برداری محبوب

  • Pinecone: پایگاه داده برداری ابری کاملاً مدیریت‌شده با معماری serverless.
  • Qdrant: پایگاه داده پرکارایی که به زبان Rust نوشته شده و از فیلترگذاری پیشرفته و تراکنش‌های سازگار با ACID پشتیبانی می‌کند.
  • Milvus: پایگاه داده مقیاس‌پذیر open-source با معماری cloud-native. از انواع مختلف نمایه، از جمله گزینه‌های شتاب‌دهنده GPU، پشتیبانی می‌کند.
  • Weaviate: پایگاه داده برداری open-source با GraphQL API و پشتیبانی از گراف‌های دانش.
  • Chroma: پایگاه داده سبک open-source که برای نمونه‌سازی سریع و آزمایش بهینه شده است.
  • FAISS: کتابخانه‌ای از Meta که پایگاه داده کامل نیست، اما الگوریتم‌های نمایه‌سازی پرکارایی برای داده‌های ایستا ارائه می‌دهد.

کاربرد با LLM: معماری RAG

Retrieval-Augmented Generation (RAG) معماری‌ای است که در آن LLM از طریق جستجوی برداری با یک پایگاه دانش خارجی تکمیل می‌شود. سیستم‌های RAG از دو مؤلفه اصلی تشکیل شده‌اند[10]:

  1. بازیابنده (Retriever): مؤلفه جستجو که از پایگاه داده برداری برای یافتن اطلاعات مرتبط با پرسش کاربر استفاده می‌کند.
  2. مولد (Generator): LLM که از پرسش اصلی و اطلاعات یافته‌شده توسط بازیابنده برای تولید پاسخ بهره می‌گیرد.

برای کارایی مؤثر RAG از جستجوی ترکیبی استفاده می‌شود — ترکیبی از جستجوی معنایی (برداری) و جستجوی واژگانی (کلیدواژه‌ای، مانند BM25) که نتایج دقیق‌تر و مرتبط‌تری فراهم می‌کند.

روندها و توسعه آینده

بازار پایگاه‌های داده برداری رشد انفجاری را نشان می‌دهد که پیش‌بینی می‌شود از ۱.۹۸ میلیارد دلار در سال ۲۰۲۳ به ۷.۱۳ میلیارد دلار تا سال ۲۰۲۹ برسد (CAGR 23.7%)[11]. مسیرهای کلیدی توسعه عبارتند از:

  • سیستم‌های چندوجهی: پشتیبانی از جستجوی همزمان بر روی متن، تصویر، صوت و ویدئو در یک فضای برداری یکپارچه.
  • بهینه‌سازی خودکار: استفاده از ML برای انتخاب خودکار نمایه‌ها و پارامترهای بهینه.
  • Edge computing: توسعه راه‌حل‌های فشرده برای دستگاه‌های موبایل و IoT.
  • محاسبات کوانتومی: شتاب‌دهی نمایی بالقوه در جستجوی شباهت.
  • تراشه‌های نورومورفیک: تقلید از عملکرد مغز برای مصرف انرژی بسیار پایین در هنگام جستجو.

پیوندها

  • وب‌سایت رسمی Pinecone
  • وب‌سایت رسمی Qdrant
  • وب‌سایت رسمی Milvus
  • وب‌سایت رسمی Weaviate

منابع

  • Malkov, Y.A.; Yashunin, D.A. (2016). Efficient and Robust Approximate Nearest Neighbor Search Using Hierarchical Navigable Small World Graphs. arXiv:1603.09320.
  • Johnson, J.; Douze, M.; Jégou, H. (2017). Billion-Scale Similarity Search with GPUs. arXiv:1702.08734.
  • Datar, M. et al. (2004). Locality-Sensitive Hashing Scheme Based on p-Stable Distributions. SoCG 2004 paper.
  • Guo, N. et al. (2020). ScaNN: Efficient Vector Similarity Search at Scale. In: Proc. ACM SIGKDD 2020, pp. 1571-1580. DOI:10.1145/3394486.3403339.
  • Lewis, P. et al. (2020). Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks. arXiv:2005.11401.
  • Wang, X. et al. (2021). Milvus: A Purpose-Built Vector Data Management System. In: SIGMOD 2021. DOI:10.1145/3448016.3457550.
  • Lee, J. et al. (2022). OOD-DiskANN: Efficient and Scalable Graph ANNS for Out-of-Distribution Queries. arXiv:2211.12850.
  • Fan, D. et al. (2023). Survey of Vector Database Management Systems. arXiv:2310.14021.
  • Ren, R. et al. (2024). Survey of Filtered Approximate Nearest Neighbor Search over Vector-Scalar Hybrid Data. arXiv:2505.06501.
  • Zhao, H. et al. (2024). Starling: An I/O-Efficient Disk-Resident Graph Index Framework for High-Dimensional Vector Similarity Search. arXiv:2401.02116.
  • Liu, Y. et al. (2025). Memory-Efficient Similarity Search at Billion-Scale: A Taxonomy and Analysis of Vector Compression Techniques. ResearchGate preprint.

یادداشت‌ها

  1. «What Is a Vector Database?». CloudRaft. [۱]
  2. «What is a Vector Database?». Qdrant Blog. [۲]
  3. «What Are Vector Embeddings?». LakeFS. [۳]
  4. «What are embeddings?». Zilliz. [۴]
  5. Sahoo, A., Maiti, J. «A Comparative Study of Similarity Metrics for Textual Embeddings». arXiv:2501.01234. [۵]
  6. «Vector search and dense vector fields». Elastic. [۶]
  7. Malkov, Y. A., Yashunin, D. A. «Efficient and robust approximate nearest neighbor search using Hierarchical Navigable Small World graphs». arXiv:1603.09320. [۷]
  8. «The index IVF». FAISS Wiki. [۸]
  9. Datar, M., et al. «Locality-Sensitive Hashing Scheme Based on p-Stable Distributions». Symposium on Computational Geometry. [۹]
  10. Lewis, P., et al. «Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks». arXiv:2005.11401. [۱۰]
  11. «Vector Database Global Market Report 2024». The Business Research Company. [۱۱]