🚀 جرب Zilliz Cloud، الـ Milvus المدارة بالكامل، مجاناً — تجربة أداء أسرع بـ 10 أضعاف! جرب الآن>>

milvus-logo
LFAI
  • Home
  • Blog
  • ما الجديد في Milvus 2.1 - نحو البساطة والسرعة

ما الجديد في Milvus 2.1 - نحو البساطة والسرعة

  • News
August 05, 2022
Xiaofan Luan

What's new in Milvus 2.1 - Towards simplicity and speed الجديد في ميلفوس 2.1 - نحو البساطة والسرعة

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

زمن انتقال على مستوى 5 مللي ثانية

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

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

التحكم في التزامن

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

النسخ المتماثلة في الذاكرة

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

In-memory replicas allow query services to be based on separate
copies of the same data. تسمح النسخ المتماثلة داخل الذاكرة بأن تستند خدمات الاستعلام على نسخ منفصلة من البيانات نفسها.

تحميل أسرع للبيانات

يأتي التحسين الأخير في الأداء من تحميل البيانات. يقوم الآن Milvus 2.1 بضغط السجلات الثنائية باستخدام Zstandard (zstd)، مما يقلل بشكل كبير من حجم البيانات في مخازن الكائنات والرسائل بالإضافة إلى النفقات الزائدة للشبكة أثناء تحميل البيانات. بالإضافة إلى ذلك، تم الآن تقديم تجمعات goroutine بحيث يمكن لـ Milvus تحميل المقاطع بشكل متزامن مع التحكم في آثار الذاكرة وتقليل الوقت اللازم للتعافي من الأعطال وتحميل البيانات.

سيتم نشر النتائج المعيارية الكاملة لـ Milvus 2.1 على موقعنا الإلكتروني قريبًا. ترقبوا ذلك.

دعم الفهرس السلسلي والعددي

مع الإصدار 2.1، يدعم Milvus الآن سلسلة متغيرة الطول (VARCHAR) كنوع بيانات قياسي. يمكن استخدام VARCHAR كمفتاح أساسي يمكن إرجاعه كمخرج، ويمكن أن يعمل أيضًا كمرشحات للسمة. تصفية السمات هي واحدة من أكثر الوظائف شيوعًا التي يحتاجها مستخدمو ميلفوس. إذا وجدت نفسك في كثير من الأحيان ترغب في "العثور على المنتجات الأكثر تشابهًا مع المستخدم في نطاق سعري 200-200-"، أو "العثور على المقالات التي تحتوي على الكلمة الرئيسية "قاعدة بيانات المتجهات" وترتبط بموضوعات سحابية أصلية"، فستحب Milvus 2.1.

يدعم Milvus 2.1 أيضًا فهرس Milvus 2.1 الفهرس المقلوب العددي لتحسين سرعة التصفية استنادًا إلى"ماريسا-تريز"الموجزةكبنية بيانات. يمكن الآن تحميل جميع البيانات في الذاكرة ببصمة منخفضة جدًا، مما يسمح بمقارنة أسرع بكثير، والتصفية ومطابقة البادئة على السلاسل. تُظهر نتائج اختبارنا أن متطلبات الذاكرة في MARISA-trie هي 10% فقط من متطلبات قواميس Python لتحميل جميع البيانات في الذاكرة وتوفير إمكانيات الاستعلام.

Milvus 2.1 combines MARISA-Trie with inverted index to significantly improve filtering speed. يجمع Milvus 2.1 بين MARISA-Trie والفهرس المقلوب لتحسين سرعة التصفية بشكل كبير.

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

دعم كافكا

لطالما طلب مجتمعنا دعم Apache Kafka كمخزن للرسائل في Milvus. يوفر لك Milvus 2.1 الآن خيار استخدامPulsar أو Kafka كمخزن للرسائل بناءً على تكوينات المستخدم، وذلك بفضل تصميم التجريد والتغليف في Milvus وGo Kafka SDK الذي ساهمت به Confluent.

مجموعة برمجيات جافا SDK الجاهزة للإنتاج

مع الإصدار Milvus 2.1 من Milvus، تم الآن إصدار مجموعة تطوير البرمجيات Java SDK الخاصة بنا رسميًا. وتتمتع مجموعة تطوير البرمجيات Java SDK بنفس إمكانيات مجموعة تطوير البرمجيات Python SDK، مع أداء أفضل في التزامن. في الخطوة التالية، سيعمل المساهمون في مجتمعنا على تحسين التوثيق وحالات الاستخدام لحزمة SDK Java SDK تدريجيًا، وسيساعدون في دفع حزم SDK Go و RESTful SDK إلى مرحلة الإنتاج الجاهز أيضًا.

قابلية الملاحظة والصيانة

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

ميلفوس المدمج

لقد سهّلت Milvus إلى حد كبير نشر خدمات استرجاع البيانات المتجهة الضخمة واسعة النطاق، ولكن بالنسبة للعلماء الذين يرغبون في التحقق من صحة الخوارزميات على نطاق أصغر، لا يزال Docker أو K8s معقدًا للغاية دون داعٍ. مع تقديم Milvus المدمج، يمكنك الآن تثبيت Milvus باستخدام pip، تمامًا كما هو الحال مع Pyrocksb و Pysqlite. يدعم Milvus المدمج جميع وظائف كل من الإصدارين العنقودي والمستقل، مما يسمح لك بالتبديل بسهولة من حاسوبك المحمول إلى بيئة إنتاج موزعة دون تغيير سطر واحد من التعليمات البرمجية. سيتمتع مهندسو الخوارزميات بتجربة أفضل بكثير عند بناء نموذج أولي باستخدام Milvus.

علاوة على ذلك، يحتوي Milvus 2.1 أيضًا على بعض التحسينات الرائعة في الاستقرار وقابلية التوسع، ونحن نتطلع إلى استخدامك وملاحظاتك.

ما التالي

  • راجع ملاحظات الإصدار المفصلة لجميع التغييرات في الإصدار Milvus 2.1
  • قم بتثبيتMilvus 2.1 وجرب الميزات الجديدة
  • انضم إلى مجتمع Slack الخاص بنا وناقش الميزات الجديدة مع الآلاف من مستخدمي ميلفوس حول العالم
  • تابعنا على تويترولينكد إن للحصول على تحديثات بمجرد صدور مدوناتنا حول ميزات جديدة محددة

حرره سونغكسيان جيانغ

Like the article? Spread the word

استمر في القراءة