تم تقديم فرع جديد هام من MariaDB 11 DBMS

بعد 10 سنوات من تأسيس فرع 10.x ، تم إصدار MariaDB 11.0.0 ، مما أدى إلى العديد من التحسينات الرئيسية وكسر تغييرات التوافق. لا يزال الفرع في جودة إصدار ألفا وسيكون جاهزًا لتطبيقات الإنتاج بعد التثبيت. من المتوقع ألا يتجاوز الفرع المهم التالي من MariaDB 12 ، الذي يحتوي على تغييرات تكسر التوافق ، في موعد لا يتجاوز 10 سنوات (في عام 2032).

يطور مشروع MariaDB شوكة من MySQL تحافظ على التوافق مع الإصدارات السابقة حيثما أمكن وتتميز بتكامل محركات التخزين الإضافية والميزات المتقدمة. يتم الإشراف على تطوير MariaDB من قبل مؤسسة MariaDB المستقلة ، بعد عملية تطوير مفتوحة وشفافة مستقلة عن البائعين الفرديين. يستبدل MariaDB MySQL في العديد من توزيعات Linux (RHEL و SUSE و Fedora و openSUSE و Slackware و OpenMandriva و ROSA و Arch Linux و Debian) وقد تم اعتماده من قبل مشاريع كبرى مثل Wikipedia و Google Cloud SQL و Nimbuzz.

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

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

وتجدر الإشارة إلى أن نموذج الوزن الجديد سيسمح باختيار خطة تنفيذ استعلام أكثر مثالية في المواقف التالية:

  • عند استخدام الاستعلامات التي تمتد لأكثر من جدولين.
  • عندما تكون هناك فهارس تحتوي على عدد كبير من القيم المتطابقة.
  • عند استخدام نطاقات تغطي أكثر من 10٪ من الجدول.
  • عندما يكون لديك استعلامات معقدة حيث لا تتم فهرسة جميع الأعمدة المستخدمة.
  • عند استخدام الاستعلامات التي تتضمن محركات تخزين مختلفة (على سبيل المثال ، عندما يحتوي استعلام واحد على وصول إلى الجداول في InnoDB ومحركات الذاكرة).
  • عند استخدام FORCE INDEX لتحسين خطة الاستعلام.
  • عندما تسوء خطة الاستعلام في حالة استخدام "ANALYZE TABLE".
  • عندما يمتد الاستعلام على عدد كبير من المشاهدات (عدد كبير من SELECTs المتداخلة).
  • عند استخدام جمل ORDER BY أو GROUP BY التي تطابق الفهارس.

فواصل التوافق الرئيسية في فرع MariaDB 11:

  • لم تعد حقوق SUPER تسمح لك بتنفيذ الإجراءات التي تتوفر لها الامتيازات المعينة بشكل منفصل. على سبيل المثال ، سيتطلب تغيير تنسيق السجلات الثنائية حقوق BINLOG ADMIN.
  • تمت إزالة تنفيذ المخزن المؤقت للتغيير في InnoDB.
  • innodb_flush_method و innodb_file_per_table تم إيقافه.
  • تم إهمال دعم أسماء mysql *.
  • إعداد تم إيقاف العمل صريح_defaults_for_timestamp على 0.
  • تم نقل الروابط الرمزية إلى حزمة منفصلة للتوافق مع MySQL.
  • تم تغيير قيمة المعلمة innodb_undo_tablespaces من الافتراضي إلى 3.

المصدر: opennet.ru

إضافة تعليق