انتشار پایدار MariaDB 10.6

پس از یک سال توسعه و سه نسخه اولیه، اولین نسخه پایدار از شاخه جدید MariaDB 10.6 DBMS منتشر شده است که در آن شاخه ای از MySQL در حال توسعه است که سازگاری با عقب را حفظ می کند و با ادغام موتورهای ذخیره سازی اضافی متمایز می شود. و قابلیت های پیشرفته پشتیبانی از شعبه جدید به مدت 5 سال تا ژوئیه 2026 ارائه خواهد شد.

توسعه MariaDB تحت نظارت بنیاد مستقل MariaDB، به دنبال یک فرآیند توسعه کاملا باز و شفاف است که مستقل از فروشندگان فردی است. MariaDB به عنوان جایگزینی برای MySQL در بسیاری از توزیع های لینوکس (RHEL، SUSE، Fedora، openSUSE، Slackware، OpenMandriva، ROSA، Arch Linux، Debian) عرضه می شود و در پروژه های بزرگی مانند Wikipedia، Google Cloud SQL و Nimbuzz پیاده سازی شده است.

پیشرفت های کلیدی در MariaDB 10.6:

  • اجرای اتمی عبارات «ایجاد جدول|نمایش|دنباله|تریگر»، «جدول تغییر|دنباله»، «تغییر نام جدول|جدول»، «دراپ جدول|نمایش|نمایش|تریگر|پایگاه داده» تضمین شده است (در هر صورت عبارت به طور کامل کامل شده یا همه چیز به حالت اولیه خود باز می گردد). در مورد عملیات "DROP TABLE" که چندین جدول را همزمان حذف می کند، اتمی بودن در سطح هر جدول جداگانه تضمین می شود. هدف از این تغییر، اطمینان از یکپارچگی در صورت خرابی سرور در حین عملیات است. قبلاً، پس از خرابی، جداول و فایل‌های موقتی باقی می‌ماندند، همگام‌سازی جداول در موتورهای ذخیره‌سازی و فایل‌های frm ممکن بود مختل شود، و زمانی که چندین جدول به طور هم‌زمان تغییر نام می‌دادند، جداول تکی بدون تغییر نام باقی می‌ماند. یکپارچگی با حفظ یک گزارش بازیابی وضعیت، که مسیر رسیدن به آن را می توان از طریق گزینه جدید "—log-ddl-recovery=file" (به طور پیش فرض ddl-recovery.log) تعیین کرد، تضمین می شود.
  • ساختار "SELECT ... OFFSET ... FETCH" تعریف شده در استاندارد SQL 2008 پیاده سازی شده است و به شما این امکان را می دهد که تعداد مشخصی از ردیف ها را با شروع یک افست مشخص، با قابلیت استفاده از پارامتر "WITH TIES" نمایش دهید. مقدار بعدی دیگر را ضمیمه کنید. برای مثال، عبارت "SELECT i FROM t1 Order BY i ASC OFFSET 1 ROWS FETCH FIRST 3 ROWS WITH TIES" با ساخت "SELECT i FROM t1 ORDER BY i ASC LIMIT 3 OFFSET 1" با خروجی یک عنصر دیگر در دم متفاوت است. (به جای 3 4 خط چاپ خواهد شد).
  • برای موتور InnoDB، نحو "SELECT ... SKIP LOCKED" پیاده سازی شده است که به شما امکان می دهد ردیف هایی را که نمی توان برای آنها قفل تنظیم کرد ("LOCK IN SHARE MODE" یا "FOR UPDATE") حذف کنید.
  • توانایی نادیده گرفتن نمایه ها پیاده سازی شده است (در MySQL 8، این قابلیت "شاخص های نامرئی" نامیده می شود). علامت گذاری یک نمایه برای نادیده گرفتن با استفاده از پرچم IGNORED در عبارت ALTER TABLE انجام می شود، پس از آن شاخص قابل مشاهده و به روز می شود، اما توسط بهینه ساز استفاده نمی شود.
  • تابع JSON_TABLE() برای تبدیل داده های JSON به فرم رابطه ای اضافه شد. به عنوان مثال، یک سند JSON را می توان برای استفاده در زمینه یک جدول تبدیل کرد، که می تواند در داخل یک بلوک FROM در یک دستور SELECT مشخص شود.
  • سازگاری بهبود یافته با Oracle DBMS: اضافه شدن پشتیبانی از سوالات فرعی ناشناس در داخل بلوک FROM. ساختار MINUS اجرا شده است (معادل EXCEPT). توابع ADD_MONTHS()، TO_CHAR()، SYS_GUID() و ROWNUM() اضافه شد.
  • در موتور InnoDB، درج در جداول خالی تسریع شده است. قالب رشته COMPRESSED به طور پیش فرض روی حالت فقط خواندنی تنظیم شده است. طرح SYS_TABLESPACES جایگزین SYS_DATAFILES شد و به طور مستقیم وضعیت را در سیستم فایل منعکس می کند. پشتیبانی از نوشتن تنبل برای فضای جدول موقت ارائه شده است. پشتیبانی از الگوریتم checksum قدیمی، که برای سازگاری با MariaDB 5.5 حفظ شده بود، متوقف شده است.
  • در سیستم تکرار، اندازه مقدار پارامتر master_host از 60 به 255 کاراکتر و master_user به 128 افزایش یافته است. فقط در روز از طریق متغیر expire_logs_days تعیین می شود).
  • مکانیسم تکثیر چند کارشناسی ارشد همزمان Galera متغیر wsrep_mode را برای پیکربندی پارامترهای API WSREP (Write Set REPlication) پیاده سازی می کند. تبدیل Galera از ارتباطات رمزگذاری نشده به TLS بدون توقف خوشه مجاز است.
  • طرح واره sys-schema پیاده سازی شده است که شامل مجموعه ای از نماها، توابع و رویه ها برای تجزیه و تحلیل عملیات پایگاه داده است.
  • اضافه شدن جداول سرویس برای تجزیه و تحلیل عملکرد تکرار.
  • نماهای INFORMATION_SCHEMA.KEYWORDS و INFORMATION_SCHEMA.SQL_FUNCTIONS به مجموعه جداول اطلاعات اضافه شده اند و فهرستی از کلمات کلیدی و توابع موجود را نمایش می دهند.
  • مخازن TokuDB و CassandraSE حذف شده اند.
  • رمزگذاری utf8 از نمایش چهار بایتی utf8mb4 (U+0000..U+10FFFF) به utf8mb3 سه بایتی (محدوده یونیکد U+0000..U+FFFF) منتقل شده است.
  • اضافه شدن پشتیبانی برای فعال سازی سوکت در systemd.
  • پلاگین GSSAPI پشتیبانی از نام گروه ها و SID های Active Directory را اضافه کرده است.
  • بررسی وجود فایل پیکربندی $MARIADB_HOME/my.cnf علاوه بر $MYSQL_HOME/my.cnf اضافه شد.
  • متغیرهای جدید سیستم binlog_expire_logs_seconds، innodb_deadlock_report، innodb_read_only_compressed، wsrep_mode و Innodb_buffer_pool_pages_lru_freed پیاده سازی شده اند.

منبع: opennet.ru

اضافه کردن نظر