إصدار Dragonfly 1.0، وهو نظام للتخزين المؤقت للبيانات في ذاكرة الوصول العشوائي (RAM).

تم إصدار نظام التخزين المؤقت والتخزين في الذاكرة Dragonfly، والذي يعالج البيانات بتنسيق المفتاح/القيمة ويمكن استخدامه كحل خفيف الوزن لتسريع عمل المواقع المحملة بشكل كبير، والتخزين المؤقت للاستعلامات البطيئة إلى نظام إدارة قواعد البيانات (DBMS) والبيانات المتوسطة في ذاكرة الوصول العشوائي (RAM). يدعم Dragonfly بروتوكولي Memcached وRedis، مما يسمح لك باستخدام مكتبات العملاء الحالية ونقل المشاريع باستخدام Memcached وRedis إلى Dragonfly دون إعادة صياغة التعليمات البرمجية.

بالمقارنة مع Redis، حققت Dragonfly زيادة في الأداء بمقدار 2 ضعفًا (6 مليون طلب في الثانية) لأحمال العمل النموذجية في بيئة Amazon EC16 c25gn.3.8xlarge. بالمقارنة مع Memcached في بيئة AWS c6gn.16xlarge، كان Dragonfly قادرًا على تنفيذ طلبات كتابة أكثر بـ 4.7 مرة في الثانية (3.8 مليون مقابل 806 ألف) و1.77 مرة أكثر من طلبات القراءة في الثانية (3.7 مليون مقابل 2.1 مليون).

إصدار Dragonfly 1.0، وهو نظام للتخزين المؤقت للبيانات في ذاكرة الوصول العشوائي (RAM).

في اختبارات تخزين 5 جيجابايت من البيانات، تطلب Dragonfly ذاكرة أقل بنسبة 30% من Redis. عند إنشاء لقطات باستخدام الأمر "bgsave"، يزداد استهلاك الذاكرة، ولكن في لحظات الذروة ظل أقل بثلاث مرات تقريبًا مما هو عليه في Redis، وتكون عملية تسجيل اللقطة نفسها أسرع بكثير (في الاختبار، تمت كتابة لقطة في Dragonfly في 30 ثانية، بينما ريديس - في 42 ثانية).

إصدار Dragonfly 1.0، وهو نظام للتخزين المؤقت للبيانات في ذاكرة الوصول العشوائي (RAM).

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

بعض مميزات اليعسوب:

  • وضع التخزين المؤقت، الذي يقوم تلقائيًا باستبدال البيانات القديمة ببيانات جديدة بعد استنفاد الذاكرة الفارغة.
  • دعم الربط بالبيانات طوال العمر الذي تعتبر فيه البيانات ذات صلة.
  • دعم مسح حالة التخزين على القرص في الخلفية لاستعادتها لاحقًا بعد إعادة التشغيل.
  • وجود وحدة تحكم HTTP (ترتبط بمنفذ TCP 6379) لإدارة النظام وواجهة برمجة التطبيقات (API) لإرجاع المقاييس المتوافقة مع Prometheus.
  • دعم 185 أمرًا من أوامر Redis، وهو ما يعادل تقريبًا وظيفة إصدار Redis 5.
  • يدعم جميع أوامر Memcached باستثناء CAS (الفحص والضبط).
  • دعم العمليات غير المتزامنة لإنشاء اللقطات.
  • استهلاك الذاكرة المتوقع.
  • المدمج في مترجم لوا 5.4.
  • يدعم أنواع البيانات المعقدة مثل التجزئة والمجموعات والقوائم (ZSET وHSET وLIST وSETS وSTRING) وبيانات JSON.
  • يدعم النسخ المتماثل للتخزين لتحمل الخطأ وموازنة التحميل.

كود Dragonfly مكتوب بلغة C/C++ ويتم توزيعه بموجب BSL (ترخيص مصدر الأعمال). تم اقتراح ترخيص BSL من قبل مؤسسي MySQL كبديل لنموذج Open Core. جوهر BSL هو أن كود الوظيفة المتقدمة متاح في البداية للتعديل، ولكن لبعض الوقت لا يمكن استخدامه مجانًا إلا في حالة استيفاء الشروط الإضافية التي تتطلب شراء ترخيص تجاري للتحايل. تتطلب شروط الترخيص الإضافية لمشروع Dragonfly نقل الكود إلى ترخيص Apache 2.0 في 15 مارس 2028. حتى هذا الوقت، يسمح الترخيص باستخدام الكود فقط لضمان تشغيل خدماته ومنتجاته، ولكنه يحظر استخدامه لإنشاء خدمات سحابية مدفوعة الأجر تعمل كإضافة إلى Dragonfly.

يتميز الإصدار Dragonfly 1.0 بتنفيذه لدعم نسخ البيانات من الخادم الأساسي إلى الخادم الثانوي. وفي الوقت نفسه، يمكن تكوين Dragonfly لاستخدامه كمخزن ثانوي، حيث يتلقى البيانات من خادم أساسي يعتمد إما على Dragonfly أو Redis. واجهة برمجة تطبيقات إدارة النسخ المتماثل متوافقة مع Redis وتعتمد على استخدام أوامر ROLE وREPLICAOF (SLAVEOF).

المصدر: opennet.ru

إضافة تعليق