MariaDB 12.0.2 منتشر شد و آن را به عنوان اولین نسخه پایدار از شاخه ۱۲.۰ معرفی میکند. شاخه MariaDB 12.0 به عنوان یک نسخه غلتان طبقهبندی میشود، توسعه تدریجی عملکرد را ادامه میدهد و جایگزین شاخه MariaDB 12.0 میشود. MariaDB 11.8 که وضعیت یک نامزد انتشار را دارد، همزمان منتشر شده است. شاخه MariaDB 12.1.1 تا زمان شکلگیری نسخه ۱۲.۱.۲ پشتیبانی خواهد شد.
پروژه MariaDB در حال توسعه یک فورک از MySQL است که سازگاری با عقب را حفظ می کند و دارای یکپارچه سازی موتورهای ذخیره سازی اضافی و قابلیت های پیشرفته است. توسعه MariaDB توسط بنیاد مستقل MariaDB، به دنبال یک فرآیند توسعه باز و شفاف که مستقل از فروشندگان فردی است، نظارت می شود. MariaDB به عنوان جایگزینی برای MySQL در بسیاری از توزیع های لینوکس (RHEL، SUSE، Fedora، openSUSE، Slackware، OpenMandriva، ROSA، Arch Linux، Debian) عرضه می شود و در پروژه های بزرگی مانند Wikipedia، Google Cloud SQL و Nimbuzz پیاده سازی شده است.
تغییرات در شاخه MariaDB 12.0 شامل موارد زیر است:
- پشتیبانی از کلیدهای SSL محافظتشده با رمز عبور اضافه شد. رمز عبور برای باز کردن قفل گواهینامه های SSL میتواند از طریق متغیر ssl_passphrase یا به صورت دستی هنگام شروع سرور تنظیم شود.
- عبارت «SET SESSION AUTHORIZATION» برای انجام یک عمل تحت یک کاربر متفاوت هنگام تنظیم امتیازات مناسب اضافه شد (این عبارت را میتوان معادل «sudo» برای DBMS در نظر گرفت).
- پشتیبانی از هشهای SHA-2 به افزونهی file_key_management.so اضافه شد.
- پشتیبانی از متغیرهای مکاننمای ضعیف از نوع از پیش تعریفشدهی SYS_REFCURSOR اضافه شده است که امکان بازگشت مکاننما از رویههای ذخیرهشده (در پارامتر OUT) یا از توابع (در دستور RETURN) را فراهم میکند. متغیر سیستمی "max_open_cursors" برای محدود کردن حداکثر تعداد مکاننماهای باز همزمان اضافه شده است.
- نوع TO_CHAR اکنون از فرمت FM (حالت پر کردن) پشتیبانی میکند تا از پر کردن اضافی جلوگیری شود. برای مثال، عبارت "SELECT CONCAT('/', TO_CHAR('2020-01-06 10:11:12', 'FMDAY'), '/');" به جای "/Monday /" مقدار "/Monday/" را برمیگرداند.
- ابزار mariadb-check و عبارت CHECK TABLE برای پشتیبانی از جداول موتور SEQUENCE بهروزرسانی شدهاند.
- بهینهساز اکنون از گزینهها (نکات) مؤثر بر ساخت طرح بهینهسازی پشتیبانی میکند: QB_NAME، NO_RANGE_OPTIMIZATION، NO_ICP، MRR، NO_MRR، BKA، NO_BKA، BNL، NO_BNL، SEMIJOIN، SUBQUERY، JOIN_FIXED_ORDER، JOIN_ORDER، JOIN_PREFIX، JOIN_SUFFIX و MAX_EXECUTION_TIME. این گزینهها با فرمتی سازگار با MySQL در پرسوجو جایگزین میشوند، برای مثال: SELECT /*+ BKA(t1) NO_BKA(t2) */ * FROM t1 INNER JOIN t2 WHERE …; SELECT /*+ MAX_EXECUTION_TIME(1000) */ * FROM t1 INNER JOIN t2 WHERE …;
- پشتیبانی از توابع جدید GIS (سیستم اطلاعات جغرافیایی) اضافه شد: ST_Validate، MBRCoveredBy، ST_Simplif، ST_GeoHash، ST_LatFromGeoHash، ST_LongFromGeoHash، ST_PointFromGeoHash، ST_IsValid، ST_Collect.
- پشتیبانی از triggerهایی که در چندین رویداد فعال میشوند اضافه شد. دستور CREATE TRIGGER اکنون میتواند رویدادهایی را که با آن مطابقت دارند با استفاده از سینتکس "{ event [ OR … ] }" فهرست کند.
- افزونهی Audit اکنون اطلاعات مربوط به پورتهای شبکه برای اتصالات ورودی را در گزارش حسابرسی ذخیره میکند (قبلاً فقط میزبان نمایش داده میشد).
- ابزار mariadb دارای گزینه "--script-dir" برای تعیین یک دایرکتوری جستجوی جایگزین برای اسکریپتهای اجرا شده توسط دستور SOURCE است.
- متغیرهای big_tables، large_page_size و storage_engine که قبلاً منسوخ شده بودند، حذف شدند.
منبع: opennet.ru
