ما هو قاعدة بيانات Milvus Vector؟

تم إنشاء Milvus في عام 2019 بهدف تخزين وفهرسة وإدارة متجهات تضمين بمقياس كبير تم إنشاؤها بواسطة الشبكات العصبية العميقة ونماذج التعلم الآلي الأخرى.

كقاعدة بيانات مصممة خصيصًا للتعامل مع استعلامات المتجهات الداخلية، يمكن لـ Milvus فهرسة المتجهات بمقياس يصل إلى عشرات المليارات. على عكس قواعد البيانات العلاقوية الحالية التي تتعامل في المقام الأول مع أنماط محددة مسبقًا وبيانات منظمة، تم تصميم Milvus من الأساس للتعامل مع المتجهات المضمنة المشتقة من البيانات غير المنظمة.

مع التوسع المستمر للإنترنت، أصبحت البيانات غير المنظمة شائعة بشكل متزايد، بما في ذلك البريد الإلكتروني والأوراق وبيانات أجهزة الاستشعار IoT وصور فيسبوك وهياكل البروتينات وغيرها. لتمكين الحواسيب من فهم ومعالجة البيانات غير المنظمة، يجب تحويل هذه البيانات إلى متجهات باستخدام تقنيات التضمين. يقوم Milvus بتخزين وفهرسة هذه المتجهات. يمكن لـ Milvus تحليل المسافة المماثلة بين متجهين من خلال حساب مسافتهما المماثلة واستنتاج ترابطهما. إذا كان متجهان مضمنان مشابهان للغاية، يشير ذلك إلى أن مصادر البيانات الأصلية مشابهة أيضًا.

سير عمل Milvus:

سير العمل

المفاهيم الرئيسية

إذا كنت غير ملم بعالم قواعد البيانات الداخلية والبحث عن التشابه، قد تجد المفاهيم الرئيسية التالية مفيدة.

البيانات غير المنظمة

البيانات غير المنظمة، بما في ذلك الصور ومقاطع الفيديو والصوت واللغة الطبيعية، تشير إلى المعلومات التي لا تتبع نموذجًا محددًا مسبقًا أو هيكل تنظيمي. تمثل هذه النوعية من البيانات حوالي 80% من البيانات العالمية ويمكن تحويل هذا النوع من البيانات إلى متجهات باستخدام مختلف نماذج الذكاء الاصطناعي ونماذج التعلم الآلي.

متجهات التضمين

متجهات التضمين هي تجريدات الميزات للبيانات غير المنظمة (مثل البريد الإلكتروني، بيانات أجهزة الاستشعار IoT، صور إنستجرام، هياكل البروتينات، إلخ). من الناحية الرياضية، تتكون متجهات التضمين من أرقام عشرية عائمة أو مجموعات ثنائية. تُستخدم تقنيات التضمين الحديثة لتحويل البيانات غير المنظمة إلى متجهات التضمين.

البحث عن التشابه باستخدام المتجهات

البحث عن التشابه باستخدام المتجهات ينطوي على مقارنة متجه مع قاعدة بيانات للعثور على أقرب متجه إلى متجه الاستعلام. يمكن تسريع عملية البحث باستخدام خوارزميات البحث التقريبية لأقرب جار (ANN). إذا كان متجهان مضمنان مشابهان للغاية، يشير ذلك إلى أن مصدر البيانات الأصلي مشابه أيضًا.

لماذا اختيار Milvus؟

  • أداء عالي للبحث في المتجهات على مجموعات بيانات بمقياس كبير.
  • دعم مجتمع تطويري يركز على المطورين مع دعم متعدد اللغات وسلسلة الأدوات.
  • يحقق قابلية التوسع والموثوقية العالية في السحابة، حتى عند الاحتفاظ بالاستقرار في حالة الفشل.
  • يمكنه البحث المختلط من خلال دمج عمليات تصفية سكالار مع البحث عن التشابه في المتجهات.

ما هي أنواع الفهارس ومعايير المقاييس الداعمة؟

الفهارس هي الوحدات التنظيمية للبيانات. قبل البحث في الكيانات المدرجة، يجب عليك تحديد نوع الفهرس ومعيار المقاييس المماثلة. إذا لم تحدد نوع الفهرس، فإن Milvus يستخدم افتراضيًا البحث بالقوة الخام.

أنواع الفهارس

يدعم Milvus معظم أنواع فهارس المتجهات للبحث التقريبي عن أقرب جار (ANNS)، بما في ذلك:

  • FLAT: مناسبة لسيناريوهات البحث عن نتائج دقيقة ودقيقة تمامًا على مجموعات بيانات صغيرة (ملايين).
  • IVF_FLAT: تعتمد على فهرس التوازن الكمي، مناسبة للبحث عن توازن مثالي بين الدقة وسرعة الاستعلام. هناك أيضًا نسخة GPU تسمى GPU_IVF_FLAT.
  • IVF_SQ8: تعتمد على فهرس التوازن الكمي، مناسبة لتقليل كبير في استهلاك القرص والذاكرة المركزية والذاكرة على وحدات المعالجة المركزية والرسومات بسبب الموارد المحدودة للغاية.
  • IVF_PQ: تعتمد على فهرس التوازن الكمي، مناسبة للبحث عن سرعة استعلام عالية حتى لو على حساب الدقة. هناك أيضًا نسخة GPU تسمى GPU_IVF_PQ.
  • HNSW: تعتمد على فهرس الرسم البياني، مناسبة للسيناريوهات مع متطلبات عالية جدًا لكفاءة البحث.

لمزيد من المعلومات المفصلة، يرجى الرجوع إلى فهرس المتجهات.

معايير المقاييس المماثلة

في Milvus، تُستخدم معايير المقاييس المماثلة لقياس التشابه بين المتجهات. يمكن أن يؤدي اختيار مقياس المسافة الجيد إلى تحسين أداء التصنيف والتجميع بشكل كبير. استنادًا إلى شكل البيانات الداخلية، يتم اختيار معايير المقاييس المماثلة المحددة لتحقيق أفضل أداء.

المعايير المشتركة المستخدمة لتضمينات الأعداد العائمة هي:

  • المسافة الأوروبية (L2): يتم استخدام هذه المقياس عادة في مجال رؤية الحاسوب.
  • المنتج الداخلي (IP): يتم استخدام هذا المقياس عادة في مجال معالجة اللغة الطبيعية.

المعايير المشتركة المستخدمة لتضمينات الثنائية هي:

  • مسافة هامنغ: يتم استخدام هذا المقياس عادة في مجال معالجة اللغة الطبيعية.
  • معامل جاكارد للتشابه: يتم استخدام هذا المقياس عادة للبحث عن التشابه الجزيئي.

تطبيقات عينة

يجعل Milvus من السهل إضافة البحث عن الشبه في تطبيقاتك. تشمل التطبيقات العينية لـ Milvus ما يلي:

  • بحث الصور المشابهة: يجعل الصور قابلة للبحث ويعيد الصور المشابهة لأكبر قاعدة بيانات تقريبًا فورًا.
  • بحث الفيديو المشابه: من خلال تحويل الإطارات الرئيسية إلى فيكتورز ثم إدخال النتائج في Milvus، يمكنه البحث والتوصية بمليارات الفيديوهات في الوقت الفعلي تقريبًا.
  • بحث الصوت المشابه: الاستعلام بسرعة عن كميات كبيرة من البيانات الصوتية، مثل الكلام، والموسيقى، وتأثيرات الصوت، وأصوات مماثلة.
  • أنظمة التوصيات: توصية معلومات أو منتجات استنادًا إلى سلوك المستخدم واحتياجاته.
  • أنظمة الإجابة على الأسئلة: الشات بوت التفاعلي الرقمي الذي يمكنه الإجابة تلقائيًا على أسئلة المستخدم.
  • تصنيف سلسلة الحمض النووي (DNA): تصنيف دقيق للجينات في ميلي ثانية عن طريق مقارنة سلاسل الحمض النووي المشابهة.
  • محركات البحث النصية: تساعد المستخدمين على العثور على المعلومات التي يبحثون عنها من خلال مقارنة الكلمات الرئيسية مع قاعدة بيانات النص.

مفهوم تصميم Milvus

باعتباره قاعدة بيانات فيكتورية قائمة على السحابة، يفصل Milvus التخزين عن الحساب في تصميمه. لتعزيز المرونة والمرونة، تكون جميع المكونات في Milvus بلا حالة.

ينقسم النظام إلى أربع طبقات:

  • الطبقة الوصول: تتكون من مجموعة من البروكسيات بدون حالة تعمل كطبقة الواجهة الأمامية للنظام ونقاط نهاية للمستخدمين.
  • الخدمة التنسيقية: تقوم هذه الخدمة بتعيين المهام لعقد العمل وتعمل كمركز محوري للنظام.
  • عقد العمل: تعمل هذه العقدة كأذرع وأرجل للنظام، تتبع تعليمات الخدمة التنسيقية وتنفذ الأوامر DML/DDL التي يثيرها المستخدمون بطريقة غير متحيزة.
  • التخزين: هذه هي العمود الفقري للنظام المسؤولة عن الاستمرارية في البيانات. تشمل تخزين البيانات الوصفية، ووكلاء السجل، وتخزين الكائنات.

بنية Milvus.

أدوات المطور

توفر Milvus مجموعة غنية من واجهات برمجة التطبيقات والأدوات للتطوير والتشغيل.

الوصول إلى واجهة برمجة التطبيقات

توفر Milvus مكتبات العميل الملفوفة حول واجهة برمجة التطبيقات Milvus، التي يمكن استخدامها لإدراج البيانات وحذفها واستعلامها برمجيًا من رمز التطبيق:

  • PyMilvus
  • Node.js SDK
  • Go SDK
  • Java SDK

أدوات بيئة Milvus

تقدم بيئة Milvus العديد من الأدوات المفيدة، بما في ذلك:

  • Milvus CLI
  • Attu: نظام إدارة رسومي لـ Milvus.
  • MilvusDM (هجرة بيانات Milvus): أداة مفتوحة المصدر مخصصة لاستيراد البيانات وتصديرها مع Milvus.
  • أداة تخطيط سعة Milvus: تساعد في تقدير الحجم النقي المطلوب، وحجم الذاكرة، وحجم القرص المستقر من خلال مختلف أنواع الفهارس.

قيود Milvus

تلتزم Milvus بتوفير أفضل قاعدة بيانات فيكتورية لدعم تطبيقات الذكاء الاصطناعي والبحث عن الشبه الفيكتوري. ومع ذلك، فإن الفريق يعمل باستمرار على إدخال المزيد من الميزات والأدوات الأمثل لتعزيز تجربة المستخدم. تقدم هذه الصفحة بعض القيود المعروفة التي قد يواجهها المستخدمون عند استخدام Milvus.

طول أسماء الموارد

المورد الحد
مجموعة 255 حرفًا
حقل 255 حرفًا
فهرس 255 حرفًا
قسم 255 حرفًا

قواعد التسمية

قد تتكون أسماء الموارد من أرقام وحروف وشرطات سفلية (_). يجب أن تبدأ الأسماء بحرف أو شرطة سفلية.

عدد الموارد

المورد الحد
مجموعة 65,536
اتصال / وكلاء 65,536

عدد الموارد في المجموعات

المورد الحد
جزء 4,096
شريحة 64
حقل 64
فهرس 1
كيان غير محدود

طول السلسلة

نوع البيانات الحد
VARCHAR 65,535

بُعد الفيكتور

السمة الحد
البُعد 32,768

الإدخال والإخراج لكل RPC

العملية الحد
عملية الإدراج 512 ميغابايت
عملية البحث 512 ميغابايت
عملية الاستعلام 512 ميغابايت

حدود التحميل

في الإصدار الحالي، يجب أن تكون البيانات التي يتعين تحميلها داخل 90% من موارد الذاكرة الإجمالية لجميع عقدات الاستعلام من أجل الاحتفاظ بموارد الذاكرة لمحرك التنفيذ.

قيود البحث

الفهرس الحدود
topk (عدد النتائج الأكثر تشابهًا للعودة) 16,384
nq (عدد طلبات البحث) 16,384