نظرة عامة على خيارات نشر Milvus
Milvus هي قاعدة بيانات متجهة عالية الأداء وقابلة للتوسع. وهي تدعم حالات استخدام بمجموعة واسعة من الأحجام، بدءًا من العروض التوضيحية التي تعمل محليًا في Jupyter Notebooks وصولًا إلى مجموعات Kubernetes الضخمة التي تتعامل مع عشرات المليارات من المتجهات. حاليًا، هناك ثلاثة خيارات لنشر Milvus: Milvus Lite وMilvus Standalone وMilvus Distributed.
Milvus Lite
Milvus Lite هي مكتبة Python يمكن استيرادها إلى تطبيقاتك. وباعتبارها نسخة خفيفة الوزن من Milvus، فهي مثالية لإنشاء النماذج الأولية السريعة في Jupyter Notebooks أو للتشغيل على الأجهزة الذكية ذات الموارد المحدودة. يدعم Milvus Lite نفس واجهات برمجة التطبيقات (APIs) مثل عمليات نشر Milvus الأخرى. كما يمكن للكود من جانب العميل الذي يتفاعل مع Milvus Lite العمل مع مثيلات Milvus في أوضاع النشر الأخرى.
لدمج Milvus Lite في تطبيقاتك، قم بتشغيل الأمر pip install pymilvus لتثبيته واستخدم العبارة MilvusClient("./demo.db") لإنشاء مثيل لقاعدة بيانات متجهة باستخدام ملف محلي يحفظ جميع بياناتك. لمزيد من التفاصيل، راجع تشغيل Milvus Lite.
Milvus Standalone
Milvus Standalone هو نشر خادم على جهاز واحد. يتم تجميع جميع مكونات Milvus Standalone في صورة Docker واحدة، مما يجعل النشر مريحًا. إذا كان لديك حمل عمل إنتاجي ولكنك تفضل عدم استخدام Kubernetes، فإن تشغيل Milvus Standalone على جهاز واحد مزود بذاكرة كافية يعد خيارًا جيدًا. بشكل افتراضي، يقوم Milvus Standalone بتشغيل Woodpecker (مدمج) كقائمة انتظار الرسائل الخاصة به، لذلك لا توجد خدمة مراسلة منفصلة لتشغيلها.
Milvus Distributed
يمكن نشر Milvus Distributed على مجموعات Kubernetes. يتميز هذا النشر بهندسة سحابية أصلية، حيث تتم معالجة أحمال الاستيعاب واستعلامات البحث بشكل منفصل بواسطة عقد معزولة، مما يتيح التكرار للمكونات الحيوية. ويوفر أعلى مستويات قابلية التوسع والتوافر، بالإضافة إلى المرونة في تخصيص الموارد المخصصة لكل مكون. يُعد Milvus Distributed الخيار الأمثل لمستخدمي المؤسسات الذين يشغلون أنظمة بحث متجهية واسعة النطاق في بيئة الإنتاج. بشكل افتراضي، يعمل Milvus Distributed باستخدام Woodpecker كقائمة انتظار الرسائل الخاصة به، ويتم نشره كخدمة مخصصة جنبًا إلى جنب مع Milvus.
اختر طريقة النشر المناسبة لحالة الاستخدام الخاصة بك
يعتمد اختيار وضع النشر عادةً على مرحلة تطوير تطبيقك:
لإنشاء نماذج أولية سريعة
إذا كنت ترغب في إنشاء شيء ما بسرعة كنموذج أولي أو لأغراض التعلم، مثل عروض توضيحية لتقنية التوليد المعزز بالاسترجاع (RAG)، أو روبوتات الدردشة التي تعمل بالذكاء الاصطناعي، أو البحث متعدد الوسائط، فإن Milvus Lite نفسه أو مزيجًا من Milvus Lite وMilvus Standalone يعد خيارًا مناسبًا. يمكنك استخدام Milvus Lite في دفاتر العمل (notebooks) لإنشاء النماذج الأولية بسرعة واستكشاف مناهج متنوعة مثل استراتيجيات التجزئة المختلفة في RAG. قد ترغب في نشر التطبيق الذي تم إنشاؤه باستخدام Milvus Lite في بيئة إنتاجية صغيرة الحجم لخدمة مستخدمين حقيقيين، أو للتحقق من صحة الفكرة على مجموعات بيانات أكبر، على سبيل المثال أكثر من بضعة ملايين من المتجهات. في هذه الحالة، يُعد Milvus Standalone هو الخيار المناسب. لا يزال من الممكن مشاركة منطق التطبيق الخاص بـ Milvus Lite، حيث إن جميع عمليات نشر Milvus تستخدم نفس واجهة برمجة التطبيقات (API) من جانب العميل. كما يمكن نقل البيانات المخزنة في Milvus Lite إلى Milvus Standalone باستخدام أداة سطر الأوامر.
النشر في بيئة إنتاجية صغيرة الحجم
بالنسبة للإنتاج في المراحل المبكرة، عندما لا يزال المشروع يبحث عن التوافق بين المنتج والسوق وتكون المرونة أكثر أهمية من قابلية التوسع، فإن Milvus Standalone هو الخيار الأفضل. لا يزال بإمكانه التوسع حتى 100 مليون متجه في حالة توفر موارد كافية للجهاز، بينما يتطلب جهود DevOps أقل بكثير من صيانة مجموعة K8s.
النشر في بيئة الإنتاج على نطاق واسع
مع النمو السريع لأعمالك وتجاوز حجم البيانات سعة الخادم الفردي، حان الوقت للنظر في استخدام Milvus Distributed. يمكنك الاستمرار في استخدام Milvus Standalone لبيئة التطوير أو البيئة التجريبية لما توفره من راحة، وتشغيل مجموعة K8s التي تعمل عليها Milvus Distributed. يمكن أن يدعمك هذا في التعامل مع عشرات المليارات من المتجهات، فضلاً عن توفير المرونة في تخصيص حجم العقدة وفقًا لحمل العمل الخاص بك، مثل حالات القراءة العالية والكتابة النادرة أو الكتابة العالية والقراءة المنخفضة.
البحث المحلي على الأجهزة الطرفية
للبحث في البيانات الخاصة أو الحساسة على أجهزة الحافة، يمكنك نشر Milvus Lite على الجهاز دون الاعتماد على خدمة قائمة على السحابة لإجراء البحث عن النصوص أو الصور. وهذا مناسب لحالات مثل البحث في المستندات الخاصة، أو اكتشاف الكائنات على الجهاز.
يعتمد اختيار وضع نشر Milvus على مرحلة مشروعك وحجمه. يوفر Milvus حلاً مرنًا وقويًا لاحتياجات متنوعة، بدءًا من النماذج الأولية السريعة وصولاً إلى النشر المؤسسي واسع النطاق.
- يُوصى باستخدامMilvus Lite لمجموعات البيانات الأصغر حجمًا، التي تصل إلى بضعة ملايين من المتجهات.
- يُعدMilvus Standalone مناسبًا لمجموعات البيانات متوسطة الحجم، التي تصل إلى 100 مليون متجه.
- تم تصميمMilvus Distributed للنشر على نطاق واسع، وهو قادر على معالجة مجموعات البيانات التي تتراوح من 100 مليون إلى عشرات المليارات من المتجهات.
بغض النظر عن وضع النشر، تعتمد كل مثيل من Milvus على قائمة انتظار الرسائل، وتخزين الكائنات، ومخزن البيانات الوصفية — بشكل افتراضي Woodpecker وMinIO وetcd. لمعرفة المزيد عن هذه التبعيات، أو ضبطها، أو ربط خدمات خارجية، راجع البنية التحتية للبيانات.
اختر خيار النشر المناسب لحالة الاستخدام الخاصة بك
مقارنة بين الوظائف
| الميزة | Milvus Lite | Milvus Standalone | Milvus Distributed |
|---|---|---|---|
| SDK / مكتبة العميل | Python gRPC | Python Go Java Node.js C# RESTful | Python Java Go Node.js C# RESTful |
| أنواع البيانات | المتجه الكثيف المتجه المتفرق المتجه الثنائي المنطقي الصحيح العائم المتغير الطول المصفوفة JSON | متجه كثيف متجه متفرق متجه ثنائي منطقية عدد صحيح عدد عائم VarChar مصفوفة JSON | متجه كثيف متجه متفرق متجه ثنائي منطقية عدد صحيح عدد عائم VarChar مصفوفة JSON |
| قدرات البحث | البحث المتجه (البحث باستخدام الشبكات العصبية الاصطناعية) تصفية البيانات الوصفية البحث في النطاق الاستعلام القياسي استرداد الكيانات حسب المفتاح الأساسي البحث المختلط | البحث المتجه (البحث باستخدام الشبكات العصبية الاصطناعية) تصفية البيانات الوصفية البحث في النطاق الاستعلام القياسي استرداد الكيانات حسب المفتاح الأساسي البحث الهجين | البحث المتجه (البحث باستخدام الشبكات العصبية الاصطناعية) تصفية البيانات الوصفية البحث في النطاق الاستعلام القياسي استرداد الكيانات حسب المفتاح الأساسي البحث الهجين |
| عمليات CRUD | ✔️ | ✔️ | ✔️ |
| إدارة البيانات المتقدمة | غير متوفر | التحكم في الوصول القسم مفتاح القسم | التحكم في الوصول التقسيم مفتاح التقسيم تجميع الموارد المادية |
| مستويات الاتساق | قوي | قوي تقادم محدود الجلسة في نهاية المطاف | قوي تقادم محدود الجلسة نهائي |
| قائمة انتظار الرسائل | غير متوفر | Woodpecker (مدمج) | وودبيكر (خدمة) |