إصدار MariaDB 10.5 مستقر

بعد عام من التطوير وأربعة إصدارات مسبقة معد أول إصدار مستقر لفرع DBMS الجديد MariaDB 10.4، حيث يتم تطوير فرع من MySQL يحافظ على التوافق مع الإصدارات السابقة و مختلف دمج محركات التخزين الإضافية والقدرات المتقدمة. وسيتم تقديم الدعم للفرع الجديد لمدة 5 سنوات، حتى يونيو 2025.

يتم الإشراف على تطوير MariaDB من قبل مؤسسة MariaDB المستقلة، بعد عملية تطوير مفتوحة وشفافة تمامًا ومستقلة عن البائعين الفرديين. يتم توفير MariaDB بدلاً من MySQL في العديد من توزيعات Linux (RHEL وSUSE وFedora وopenSUSE وSlackware وOpenMandriva وROSA وArch Linux وDebian) وتم تنفيذها في مشاريع كبيرة مثل ويكيبيديا, جوجل سحابة مزود и Nimbuzz.

مفتاح تحسينات MariaDB 10.5:

  • وأضاف محرك التخزين S3، والذي يسمح لك باستضافة جداول MariaDB على Amazon S3 أو أي وحدة تخزين سحابية عامة أو خاصة أخرى تدعم S3 API. يتم دعم وضع كل من الجداول العادية والمقسمة في S3. عند وضع الجداول المقسمة في السحابة، يمكن استخدامها مباشرة، بما في ذلك من خادم آخر لديه حق الوصول إلى وحدة تخزين S3.
  • وأضاف محرك التخزين ColumnStoreالذي يخزن البيانات المرتبطة بالأعمدة والاستخدامات موازية على نطاق واسع العمارة الموزعة. يعتمد المحرك على تطورات تخزين MySQL InfiniDB ويهدف إلى تنظيم معالجة وتنفيذ الاستعلامات التحليلية على كميات كبيرة من البيانات (مستودع البيانات).
    يقوم ColumnStore بتخزين البيانات ليس صفًا تلو الآخر، ولكن حسب الأعمدة، مما يسمح لك بتحسين أداء التجميع حسب الأعمدة من قاعدة بيانات كبيرة، بما في ذلك بيتابايت من البيانات. يتم دعم القياس الخطي وتخزين البيانات المضغوطة والتقسيم الرأسي والأفقي والتنفيذ الفعال للطلبات المتنافسة.

  • تمت إعادة تسمية جميع الملفات التنفيذية التي تبدأ بالكلمة "mysql" لاستخدام الكلمة "mariadb". يتم تخزين الأسماء القديمة على شكل روابط رمزية.
  • تمت إضافة نوع بيانات جديد INET6 لتخزين عناوين IPv6.
  • تم العمل على فصل الامتيازات إلى مكونات أصغر. بدلاً من الامتياز العام الفائق، يتم اقتراح سلسلة من الامتيازات الانتقائية "BINLOG ADMIN"،
    "إعادة تشغيل السجل"
    "مسؤول الاتصال"
    "المسؤول الموحد"
    "المسؤول للقراءة فقط"،
    "النسخ المتماثل المشرف الرئيسي"
    "النسخ المتماثل المشرف الرقيق" و
    "تعيين المستخدم".

  • تمت إعادة تسمية امتياز "REPLICATION CLIENT" إلى "BINLOG MONITOR" والتعبير "SHOW MASTER STATUS" إلى "SHOW BINLOG STATUS". إن إعادة التسمية توضح السلوك ولا ترتبط بالصواب السياسي، ولا يتخلى المشروع عن مصطلحي السيد/العبد، بل وأضاف امتيازات جديدة "MASTER ADMIN" و"SLAVE ADMIN". وفي الوقت نفسه، تمت إضافة مفتاح جديد "REPLICA" إلى تعبير SQL، وهو مرادف لـ "SLAVE".
  • بالنسبة لبعض التعبيرات، تم تغيير الامتيازات المطلوبة لتنفيذها. يتطلب "إظهار أحداث BINLOG" الآن امتيازات "BINLOG MONITOR" بدلاً من "REPLICATION SLAVE"، أو "SHOW SLAVE HOSTS" يتطلب امتيازات "REPLICATION MASTER ADMIN" بدلاً من "REPLICATION SLAVE"، أو "SHOW SLAVE STATUS" يتطلب "REPLICATION SLAVE ADMIN" أو " SUPER " بدلاً من " REPLICATION CLIENT "، يتطلب " SHOW RELAYLOG EVENTS " حقوق " REPLICATION SLAVE ADMIN " بدلاً من " REPLICATION SLAVE ".
  • التصاميم المضافة "إدراج...عودة"و"استبدال...العودة"، مما يؤدي إلى إرجاع قائمة بالإدخالات المدرجة/المستبدلة في النموذج كما لو تم إرجاع القيم باستخدام تعبير SELECT (على غرار "DELETE ... RETURNING").

    أدخل في قيم t2 (1،'كلب')،(2،'أسد')،(3،'نمر')،(4،'فهد')
    RETURNING id2,id2+id2,id2&id2,id2||id2;
    +——+———+———+———-+
    | معرف2 | معرف2+id2 | معرف2&id2 | معرف2||id2 |
    +——+———+———+———-+
    | 1 | 2 | 1 | 1 |
    | 2 | 4 | 2 | 1 |
    | 3 | 6 | 3 | 1 |
    | 4 | 8 | 4 | 1 |
    +——+———+———+———-+

  • التعبيرات المضافة "باستثناء الكل"و"تقاطع الكل» لاستبعاد/استكمال النتيجة بمجموعة محددة من القيم.
  • أصبح من الممكن الآن تحديد التعليقات داخل الكتلتين "CREATE DATABASE" و"ALTER DATABASE".
  • بنيات مضافة لإعادة تسمية الفهارس والأعمدة "تغيير الجدول... إعادة تسمية الفهرس/المفتاح" و "تغيير الجدول... إعادة تسمية العمود".
  • في عمليتي "ALTER TABLE" و"RENAME TABLE"، تمت إضافة دعم لشرط "IF EXISTS" لإجراء العملية فقط في حالة وجود الجدول؛
  • بالنسبة للفهارس في "CREATE TABLE" السمة "مرئي".
  • تمت إضافة تعبير "CYCLE" لتحديد الحلقات العودية CTE.
  • تمت إضافة الميزات JSON_ARRAYAGG и JSON_OBJECTAGG لإرجاع مصفوفة أو كائن JSON بقيم العمود المحدد.
  • تمت إضافة جداول معلومات الخدمة (THREAD_POOL_GROUPS وTHREAD_POOL_QUEUES وTHREAD_POOL_STATS وTHREAD_POOL_WAITS) لتجمع مؤشرات الترابط (thread_pool).
  • يتم توسيع تعبير ANALYZE لإظهار الوقت المستغرق في التحقق من كتلة WHERE وتنفيذ العمليات المساعدة.
  • يأخذ مُحسِّن معالجة النطاق في الاعتبار خصائص "ليست فارغة".
  • تم تقليل حجم الملفات المؤقتة المستخدمة عند الفرز باستخدام أنواع VARCHAR وCHAR وBLOB بشكل كبير.
  • В سجل ثنائي، المستخدمة لتنظيم النسخ المتماثل، تمت إضافة حقول بيانات تعريف جديدة، بما في ذلك المفتاح الأساسي واسم العمود ومجموعة الأحرف ونوع الهندسة. توفر الأداة المساعدة mariadb-binlog والأوامر "SHOW BINLOG EVENTS" و"SHOW RELAYLOG EVENTS" عرضًا لعلامات النسخ المتماثل.
  • تصميم انخفاض الجدول الآن أصبح الأمر آمنًا يزيل الجداول التي تبقى في محرك التخزين حتى في حالة عدم وجود ملفات ".frm" أو ".par".
  • تم تنفيذ إصدار مسرع للأجهزة من وظيفة crc32() لوحدات المعالجة المركزية AMD64 وARMv8 وPOWER 8.
  • تم تغيير بعض الإعدادات الافتراضية. تمت زيادة innodb_encryption_threads إلى 255 وتمت زيادة max_sort_length من 4 إلى 8.
  • تم تقديم العديد من تحسينات الأداء لمحرك InnoDB.
  • تمت إضافة الدعم الكامل إلى آلية النسخ المتماثل متعدد الماجستير المتزامن من Galera GTID (معرف المعاملة العمومي)، ومعرفات المعاملات المشتركة بين جميع عقد المجموعة.
  • تم الانتقال إلى فرع جديد للمكتبة PCRE2 (التعبيرات العادية المتوافقة مع Perl)، بدلاً من سلسلة PCRE 8.x الكلاسيكية.
  • تم اقتراح إصدارات جديدة من الأدوات للاتصال بـ MariaDB وMySQL DBMS من برامج في Python وC: موصل MariaDB/بيثون 1.0.0 и موصل MariaDB/C 3.1.9. يتوافق ربط Python مع Python DB API 2.0، وهو مكتوب بلغة C ويستخدم مكتبة Connector/C للاتصال بالخادم.

المصدر: opennet.ru

إضافة تعليق