Milvus
Zilliz
الصفحة الرئيسية

فصل التخزين/الحوسبة

باتباع مبدأ الفصل بين مستوى البيانات ومستوى التحكم، تتألف Milvus من أربع طبقات مستقلة عن بعضها البعض من حيث قابلية التوسع والتعافي من الكوارث.

طبقة الوصول

تتألف طبقة الوصول من مجموعة من الوكلاء عديمي الحالة، وهي الطبقة الأمامية للنظام ونقطة النهاية للمستخدمين. تتحقق من صحة طلبات العميل وتقلل من النتائج التي يتم إرجاعها:

  • الوكيل في حد ذاته عديم الحالة. يوفر عنوان خدمة موحد باستخدام مكونات موازنة التحميل مثل Nginx و Kubernetes Ingress و NodePort و LVS.
  • نظرًا لأن Milvus يستخدم بنية معالجة متوازية على نطاق واسع (MPP)، يقوم الوكيل بتجميع النتائج الوسيطة ومعالجتها لاحقًا قبل إعادة النتائج النهائية إلى العميل.

المنسق

يعمل المنسق بمثابة العقل المدبر لميلفوس. في أي لحظة، يكون منسق واحد فقط نشطًا عبر المجموعة بأكملها، وهو مسؤول عن الحفاظ على طوبولوجيا المجموعة، وجدولة جميع أنواع المهام، والتعهد بالاتساق على مستوى المجموعة.

فيما يلي بعض المهام التي يتولاها المنسق:

  • إدارة لغة تعريف البيانات (DDL/DCL) / لغة تعريف البيانات (DDL) / إدارة العمليات المؤقتة: يتعامل مع طلبات لغة تعريف البيانات (DDL) ولغة التحكم في البيانات (DCL)، مثل إنشاء أو حذف المجموعات أو الأقسام أو الفهارس، بالإضافة إلى إدارة الطابع الزمني أوراكل (TSO) وإصدار شريط الوقت.
  • إدارة خدمة التدفق: يربط سجل الكتابة المسبق (WAL) مع عقد البث ويوفر اكتشاف الخدمة لخدمة البث.
  • إدارة الاستعلام: تدير الطوبولوجيا وموازنة التحميل لعقد الاستعلام، وتوفر وتدير طرق عرض الاستعلامات المقدمة لتوجيه توجيه الاستعلام.
  • إدارة البيانات التاريخية: توزع المهام غير المتصلة بالإنترنت مثل الضغط وبناء الفهرس على عقد البيانات، وتدير طوبولوجيا المقاطع وطرق عرض البيانات.

عقد العمال

الأذرع والأرجل. العُقد العاملة هي عبارة عن منفِّذات غبية تتبع تعليمات المنسق. العقد العاملة عديمة الحالة بفضل الفصل بين التخزين والحوسبة، ويمكنها تسهيل توسيع نطاق النظام واستعادة البيانات بعد الكوارث عند نشرها على Kubernetes. هناك ثلاثة أنواع من العقد العاملة:

عقدة التدفق

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

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

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

عقدة البيانات

عقدة البيانات مسؤولة عن معالجة البيانات التاريخية دون اتصال بالإنترنت، مثل الضغط وبناء الفهرس.

التخزين

التخزين هو عظمة النظام، وهو المسؤول عن ثبات البيانات. وهو يتألف من التخزين التعريفي ووسيط السجل وتخزين الكائنات.

التخزين التعريفي

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

تخزين الكائنات

يخزن تخزين الكائنات ملفات لقطات من السجلات، وملفات الفهرس للبيانات القياسية والمتجهة، ونتائج الاستعلام الوسيطة. يستخدم Milvus MinIO كتخزين كائنات ويمكن نشره بسهولة على AWS S3 و Azure Blob، وهما من أكثر خدمات التخزين شيوعًا وفعالية من حيث التكلفة في العالم. ومع ذلك، يتميز تخزين الكائنات بزمن وصول عالٍ ويتقاضى رسومًا حسب عدد الاستعلامات. ولتحسين أدائها وخفض التكاليف، تخطط ميلفوس لتنفيذ فصل البيانات الباردة عن الساخنة على ذاكرة أو تجمع ذاكرة تخزين مؤقت قائم على SSD.

تخزين WAL

تخزين سجل الكتابة المسبق (WAL) هو أساس متانة البيانات واتساقها في الأنظمة الموزعة. قبل إجراء أي تغيير، يتم تسجيله أولاً في السجل - مما يضمن أنه في حالة حدوث عطل، يمكنك استرداد البيانات من حيث توقفت بالضبط.

تتضمن تطبيقات WAL الشائعة Kafka وPulsar وWoodpecker. على عكس الحلول التقليدية القائمة على الأقراص، يتبنى Woodpecker تصميمًا سحابيًا أصليًا خالٍ من الأقراص يكتب مباشرةً إلى تخزين الكائنات. يتناسب هذا النهج مع احتياجاتك دون عناء ويبسط العمليات من خلال إزالة النفقات العامة لإدارة الأقراص المحلية.

من خلال تسجيل كل عملية كتابة في وقت مبكر، تضمن طبقة WAL آلية موثوقة على مستوى النظام للاسترداد والاتساق - بغض النظر عن مدى تعقيد بيئتك الموزعة.

ما التالي

جرب Managed Milvus مجاناً

Zilliz Cloud خالي من المتاعب، ويعمل بواسطة Milvus ويعمل بسرعة 10 أضعاف.

ابدأ
التعليقات

هل كانت هذه الصفحة مفيدة؟