زيادة إنتاجية قراءة قاعدة بيانات المتجهات باستخدام النسخ المتماثلة داخل الذاكرة
صورة_الغلاف
شارك في تأليف هذه المقالة كونغكي شيا وأنجيلا ني.
مع إصداره الرسمي، يأتي Milvus 2.1 مع العديد من الميزات الجديدة لتوفير الراحة وتجربة مستخدم أفضل. على الرغم من أن مفهوم النسخ المتماثل داخل الذاكرة ليس شيئًا جديدًا في عالم قواعد البيانات الموزعة، إلا أنه ميزة مهمة يمكن أن تساعدك على تعزيز أداء النظام وتحسين توافر النظام بطريقة سهلة. لذلك، يشرح هذا المنشور ما هي النسخة المتماثلة في الذاكرة وسبب أهميتها، ثم يقدم كيفية تمكين هذه الميزة الجديدة في قاعدة بيانات Milvus، وهي قاعدة بيانات متجهة للذكاء الاصطناعي.
الانتقال إلى:
المفاهيم المتعلقة بالنسخ المتماثلة داخل الذاكرة
قبل التعرف على ماهية النسخ المتماثلة في الذاكرة وسبب أهميتها، نحتاج أولاً إلى فهم بعض المفاهيم ذات الصلة بما في ذلك مجموعة النسخ المتماثلة، والنسخة المتماثلة داخل الذاكرة، والنسخة المتماثلة المتدفقة، والنسخة المتماثلة التاريخية، وقائد النسخة المتماثلة. الصورة أدناه هي توضيح لهذه المفاهيم.
مفاهيم النسخ المتماثلة
مجموعة النسخ المتماثلة
تتكون مجموعة النسخ المتماثلة من عقد استعلام متعددة مسؤولة عن التعامل مع البيانات التاريخية والنسخ المتماثلة.
النسخة المتماثلة للجزء المتماثل
تتألف النسخة المتماثلة للجزء من نسخة متماثلة متدفقة ونسخة متماثلة تاريخية، وكلاهما ينتميان إلى نفس الجزء (أي قناة DML). تشكل النسخ المتماثلة متعددة الأجزاء مجموعة النسخ المتماثلة. ويتم تحديد العدد الدقيق للنسخ المتماثلة للجزء في مجموعة النسخ المتماثلة من خلال عدد الأجزاء في مجموعة محددة.
النسخة المتماثلة المتدفقة
تحتوي النسخة المتماثلة المتدفقة على جميع الأجزاء المتزايدة من نفس قناة DML. من الناحية الفنية، يجب تقديم نسخة متماثلة متدفقة بواسطة عقدة استعلام واحدة فقط في نسخة متماثلة واحدة.
النسخة المتماثلة التاريخية
تحتوي النسخة المتماثلة التاريخية على جميع المقاطع المختومة من نفس قناة DML. يمكن توزيع المقاطع المختومة لنسخة متماثلة تاريخية واحدة على عدة عقد استعلام داخل نفس مجموعة النسخ المتماثلة.
قائد الجزء
قائد الجزء هو عقدة الاستعلام التي تخدم النسخة المتماثلة المتدفقة في نسخة متماثلة للجزء.
ما هي النسخة المتماثلة داخل الذاكرة؟
يتيح لك تمكين النسخ المتماثلة في الذاكرة تحميل البيانات في مجموعة على عقد استعلام متعددة بحيث يمكنك الاستفادة من موارد وحدة المعالجة المركزية والذاكرة الإضافية. تكون هذه الميزة مفيدة جدًا إذا كانت لديك مجموعة بيانات صغيرة نسبيًا ولكنك تريد زيادة إنتاجية القراءة وتحسين الاستفادة من موارد الأجهزة.
تحتوي قاعدة بيانات Milvus vector على نسخة متماثلة واحدة لكل مقطع في الذاكرة في الوقت الحالي. ومع ذلك، مع النسخ المتماثلة في الذاكرة، يمكنك الحصول على نسخ متماثلة متعددة لمقطع ما على عقد استعلام مختلفة. هذا يعني أنه إذا كانت هناك عقدة استعلام واحدة تجري بحثًا على مقطع ما، فيمكن تعيين طلب بحث جديد وارد إلى عقدة استعلام أخرى خاملة لأن عقدة الاستعلام هذه لديها نسخة متماثلة لنفس المقطع بالضبط.
بالإضافة إلى ذلك، إذا كان لدينا نسخ متماثلة متعددة في الذاكرة، يمكننا التعامل بشكل أفضل مع الموقف الذي تتعطل فيه عقدة الاستعلام. في السابق، كان علينا انتظار إعادة تحميل المقطع من أجل المتابعة والبحث في عقدة استعلام أخرى. ومع ذلك، مع النسخ المتماثل داخل الذاكرة، يمكن إعادة إرسال طلب البحث إلى عقدة استعلام جديدة على الفور دون الحاجة إلى إعادة تحميل البيانات مرة أخرى.
النسخ المتماثل
لماذا تعتبر النسخ المتماثلة في الذاكرة مهمة؟
تتمثل إحدى أهم مزايا تمكين النسخ المتماثلة في الذاكرة في زيادة إجمالي QPS (الاستعلام في الثانية) والإنتاجية. علاوة على ذلك، يمكن الاحتفاظ بنسخ متماثلة متعددة المقاطع ويكون النظام أكثر مرونة في مواجهة حالات الفشل.
تمكين النسخ المتماثلة داخل الذاكرة في قاعدة بيانات ميلفوس المتجهة
إن تمكين الميزة الجديدة للنسخ المتماثلة في الذاكرة أمر سهل في قاعدة بيانات Milvus vector. كل ما عليك فعله هو ببساطة تحديد عدد النسخ المتماثلة التي تريدها عند تحميل مجموعة (أي استدعاء collection.load()
).
في المثال التعليمي التالي، نفترض أنك أنشأت بالفعل مجموعة باسم "كتاب" وأدرجت البيانات فيها. ثم يمكنك تشغيل الأمر التالي لإنشاء نسختين متماثلتين عند تحميل مجموعة كتب.
from pymilvus import Collection
collection = Collection("book") # Get an existing collection.
collection.load(replica_number=2) # load collection as 2 replicas
يمكنك تعديل عدد النسخ المتماثلة بمرونة في المثال التوضيحي أعلاه بما يتناسب مع سيناريو تطبيقك. ثم يمكنك إجراء بحث أو استعلام تشابه متجه مباشرةً على نسخ متماثلة متعددة دون تشغيل أي أوامر إضافية. ومع ذلك، تجدر الإشارة إلى أن الحد الأقصى لعدد النسخ المتماثلة المسموح به محدود بإجمالي حجم الذاكرة القابلة للاستخدام لتشغيل عقد الاستعلام. إذا تجاوز عدد النسخ المتماثلة التي تحددها حدود الذاكرة القابلة للاستخدام، فسيتم إرجاع خطأ أثناء تحميل البيانات.
يمكنك أيضًا التحقق من معلومات النسخ المتماثلة في الذاكرة التي قمت بإنشائها عن طريق تشغيل collection.get_replicas()
. سيتم إرجاع المعلومات الخاصة بمجموعات النسخ المتماثلة وعقد الاستعلام والقطع المقابلة. فيما يلي مثال على الإخراج.
Replica groups:
- Group: <group_id:435309823872729305>, <group_nodes:(21, 20)>, <shards:[Shard: <channel_name:milvus-zong-rootcoord-dml_27_435367661874184193v0>, <shard_leader:21>, <shard_nodes:[21]>, Shard: <channel_name:milvus-zong-rootcoord-dml_28_435367661874184193v1>, <shard_leader:20>, <shard_nodes:[20, 21]>]>
- Group: <group_id:435309823872729304>, <group_nodes:(25,)>, <shards:[Shard: <channel_name:milvus-zong-rootcoord-dml_28_435367661874184193v1>, <shard_leader:25>, <shard_nodes:[25]>, Shard: <channel_name:milvus-zong-rootcoord-dml_27_435367661874184193v0>, <shard_leader:25>, <shard_nodes:[25]>]>
ما التالي
مع الإصدار الرسمي ل Milvus 2.1، قمنا بإعداد سلسلة من المدونات التي تقدم الميزات الجديدة. اقرأ المزيد في سلسلة المدونات هذه:
- كيفية استخدام بيانات السلسلة لتمكين تطبيقات البحث عن التشابه لديك
- استخدام ميلفوس المدمج لتثبيت وتشغيل ميلفوس مع بايثون على الفور
- زيادة إنتاجية قراءة قاعدة بيانات المتجهات باستخدام النسخ المتماثلة في الذاكرة
- فهم مستوى الاتساق في قاعدة بيانات Milvus Vector في قاعدة بيانات Milvus
- فهم مستوى الاتساق في قاعدة بيانات Milvus Vector (الجزء الثاني)
- كيف تضمن قاعدة بيانات Milvus Vector أمان البيانات؟
- المفاهيم المتعلقة بالنسخ المتماثلة داخل الذاكرة
- ما هي النسخة المتماثلة داخل الذاكرة؟
- لماذا تعتبر النسخ المتماثلة في الذاكرة مهمة؟
- تمكين النسخ المتماثلة داخل الذاكرة في قاعدة بيانات ميلفوس المتجهة
- ما التالي
On This Page
Try Managed Milvus for Free
Zilliz Cloud is hassle-free, powered by Milvus and 10x faster.
Get StartedLike the article? Spread the word