نقار الخشب

في الإصدار 2.6 من Milvus 2.6، يستبدل Woodpecker نظام Woodpecker نظام سجل الكتابة المسبق (WAL) المصمم خصيصًا للسحابة. تم تصميم Woodpecker لتخزين الكائنات، وهو يعمل على تبسيط العمليات وزيادة الإنتاجية وتوسيع نطاقها دون عناء.

أهداف تصميم Woodpecker:

  • أعلى إنتاجية في البيئات السحابية

  • تسجيل دائم ومُلحق فقط من أجل استرداد موثوق به

  • الحد الأدنى من النفقات التشغيلية بدون أقراص محلية أو وسطاء خارجيين

بنية خالية من الأقراص

إن الابتكار الأساسي في Woodpecker هو بنيته الخالية من الأقراص:

  • جميع بيانات السجل المخزنة في تخزين الكائنات السحابية (مثل Amazon S3 أو Google Cloud Storage أو Alibaba OS)
  • البيانات الوصفية المُدارة من خلال مخازن القيمة الرئيسية الموزعة مثل إلخd
  • لا توجد تبعيات أقراص محلية للعمليات الأساسية

woodpecker layers طبقات نقار الخشب

مكونات البنية

يتضمن النشر القياسي لنقار الخشب المكونات التالية:

  • العميل: طبقة واجهة لإصدار طلبات القراءة والكتابة
  • مخزن السجل: يدير التخزين المؤقت للكتابة بسرعة عالية، والتحميل غير المتزامن إلى التخزين، وضغط السجل
  • واجهة التخزين الخلفية: يدعم خدمات تخزين قابلة للتطوير ومنخفضة التكلفة مثل S3 و GCS وأنظمة الملفات مثل EFS
  • إلخ: تخزين البيانات الوصفية وتنسيق حالة السجل عبر العقد الموزعة

أوضاع النشر

يوفر Woodpecker وضعين للنشر ليتناسب مع احتياجاتك الخاصة:

MemoryBuffer - خفيف الوزن وخالي من الصيانة

يوفّر وضع MemoryBuffer خيار نشر بسيط وخفيف الوزن حيث يقوم عميل Woodpecker المضمّن بتخزين الكتابات الواردة مؤقتًا في الذاكرة ويقوم بمسحها بشكل دوري إلى خدمة تخزين الكائنات السحابية. في هذا الوضع، يتم تضمين المخزن المؤقت للذاكرة مباشرةً في العميل، مما يتيح التجميع الفعال قبل المسح إلى S3. تتم إدارة البيانات الوصفية باستخدام etcd لضمان الاتساق والتنسيق. هذا الوضع هو الأنسب لأحمال العمل ذات الدُفعات الثقيلة في عمليات النشر على نطاق أصغر أو بيئات الإنتاج التي تعطي الأولوية للبساطة على الأداء، خاصةً عندما لا يكون زمن انتقال الكتابة المنخفض أمرًا بالغ الأهمية. يتراوح زمن انتقال الكتابة في هذا الوضع بشكل عام بين 200-500 مللي ثانية.

woodpecker memory mode deployment نشر وضع ذاكرة نقار الخشب

QuorumBuffer - مُحسَّن لزمن انتقال منخفض ومتانة عالية

تم تصميم وضع QuorumBuffer لأحمال عمل القراءة/الكتابة الحساسة لوقت الاستجابة وذات التردد العالي والتي تتطلب استجابة في الوقت الحقيقي وتحملاً قوياً للأخطاء. في هذا الوضع، يتفاعل عميل Woodpecker مع نظام نصاب ثلاثي النسخ لتوفير تخزين مؤقت عالي السرعة للكتابة وضمان اتساق قوي وتوافر عالٍ من خلال الإجماع الموزع.

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

والنتيجة هي طبقة WAL مبسطة وقوية ومثالية لبيئات الإنتاج ذات المهام الحرجة حيث يكون الاتساق والتوافر والاسترداد السريع ضرورياً.

woodpecker quorum mode deployment نشر وضع نصاب نقار الخشب

معايير الأداء

أجرينا اختبارات معيارية شاملة لتقييم أداء Woodpecker في إعداد أحادي العقدة وعميل واحد وتدفق سجل واحد. كانت النتائج مبهرة عند مقارنتها مع Kafka وPulsar:

النظامكافكابولسارWP MinioWP Localالفسفور الابيض S3
الإنتاجية129.96 ميجابايت/ثانية107 ميجابايت/ثانية71 ميجابايت/ثانية450 ميجابايت/ثانية750 ميجابايت/ثانية
زمن الاستجابة58 مللي ثانية35 مللي ثانية184 مللي ثانية1.8 مللي ثانية166 مللي ثانية

بالنسبة للسياق، قمنا بقياس حدود الإنتاجية النظرية لخلفيات التخزين المختلفة على جهاز الاختبار الخاص بنا:

  • MinIO: 110 ميجابايت/ثانية تقريبًا
  • نظام الملفات المحلي: 600-750 ميجابايت/ثانية
  • أمازون S3 (مثيل EC2 واحد): ما يصل إلى 1.1 جيجابايت/ثانية

من اللافت للنظر أن Woodpecker حقق باستمرار 60-80% من أقصى إنتاجية ممكنة لكل واجهة خلفية - وهو مستوى كفاءة استثنائي للبرامج الوسيطة.

رؤى الأداء الرئيسية

  • وضع نظام الملفات المحلي: حقق Woodpecker سرعة 450 ميغابايت/ثانية - أسرع بـ 3.5 أضعاف من Kafka و4.2 أضعاف من Pulsar - مع زمن انتقال منخفض للغاية يبلغ 1.8 مللي ثانية فقط، مما يجعله مثاليًا لعمليات النشر عالية الأداء للعقدة الواحدة.
  • وضع التخزين السحابي (S3): عند الكتابة مباشرةً إلى S3، وصلت سرعة Woodpecker إلى 750 ميجابايت/ثانية (حوالي 68% من الحد النظري لـ S3)، أي أعلى بـ 5.8 ضعف من Kafka و7 أضعاف من Pulsar. في حين أن زمن الاستجابة أعلى (166 مللي ثانية)، يوفر هذا الإعداد إنتاجية استثنائية لأحمال العمل الموجهة نحو الدُفعات.
  • وضع تخزين الكائنات (MinIO): حتى مع MinIO، حقق Woodpecker 71 ميغابايت/ثانية - حوالي 65% من سعة MinIO. هذا الأداء مماثل لأداء Kafka وPulsar ولكن بمتطلبات موارد أقل بكثير.

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

الفوائد التشغيلية

توفر بنية Woodpecker السحابية الأصلية مزايا تشغيلية كبيرة:

  • انعدام إدارة التخزين المحلي: الاستغناء عن إدارة وحدة تخزين الأقراص وتكوين RAID وأعطال الأجهزة
  • التحجيم التلقائي: توسيع نطاق التخزين مع تخزين الكائنات السحابية بدون تخطيط السعة
  • كفاءة التكلفة: تخزين الدفع حسب الاستخدام مع خاصية التخزين التلقائي والضغط التلقائي
  • التوافر العالي: الاستفادة من متانة موفري الخدمات السحابية التي تصل إلى 11-9 مع الاسترداد السريع
  • نشر مبسط: وضعان للنشر (MemoryBuffer/QuorBuffer) يتناسبان مع الاحتياجات التشغيلية المختلفة
  • ملائمة للمطورين: إعداد أسرع للبيئة وبنية متسقة في جميع البيئات

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

جرب Managed Milvus مجاناً

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

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

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