Представлено нову значну гілку СУБД MariaDB 11

Через 10 років з моменту заснування гілки 10.x представлений випуск СУБД MariaDB 11.0.0, в якому запропоновано кілька значних покращень та змін, що порушують сумісність. Гілка поки що має якість альфа-випуску і стане готовою для робочих застосувань після проведення стабілізації. Формування наступної значної галузі MariaDB 12, що містить зміни, що порушують сумісність, очікується не раніше ніж через 10 років (у 2032 році).

Проектом MariaDB розвивається відгалуження від MySQL, що по можливості зберігає зворотну сумісність і відрізняється інтеграцією додаткових двигунів зберігання та розширених можливостей. Розвиток MariaDB займається незалежною організацією MariaDB Foundation відповідно до відкритого та прозорого процесу розробки, що не залежить від окремих виробників. СУБД MariaDB поставляється замість MySQL у багатьох дистрибутивах Linux (RHEL, SUSE, Fedora, OpenSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) і впроваджена у таких великих проектах, як Wikipedia, Google Cloud SQL та Nimbuzz.

Ключовим покращенням у гілці MariaDB 11 є переклад оптимізатора запитів на нову вагову модель (cost model), що забезпечує більш точне передбачення ваги кожного плану виконання запиту. Незважаючи на те, що нова модель дозволяє позбавитися деяких вузьких місць з продуктивністю, не виключено, що вона буде оптимальною не у всіх сценаріях і можливе уповільнення якихось запитів, тому користувачам рекомендується взяти участь у тестуванні та повідомити розробників у разі виникнення проблем.

Раніше використовувана модель добре підходила для знаходження оптимального індексу, але мала проблеми із застосуванням операцій сканування таблиці, сканування індексу або вибірки діапазонів. У новій моделі цей недолік усунений за рахунок зміни базової ваги операцій із двигуном зберігання. Оцінюючи продуктивність операцій, які залежать від швидкості роботи з диском, таких як послідовне сканування записів, тепер передбачається, що дані зберігаються на SSD-накопичувачі, що забезпечує швидкість читання на рівні 400MB в секунду. Додатково проведено тюнінг та інші вагові параметри оптимізатора, що, наприклад, дозволило реалізувати можливість використання індексів для операцій «ORDER BY/GROUP BY» у підзапитах та прискорити роботу з дуже маленькими таблицями.

Зазначається, що нова вагова модель дозволить обирати більш оптимальний план виконання запиту у таких ситуаціях:

  • При використанні запитів, що охоплюють понад 2 таблиці.
  • За наявності індексів, що містять велику кількість однакових значень.
  • Використовуючи діапазони, що охоплюють більше 10% таблиці.
  • За наявності складних запитів, у яких не всі стовпці, що використовуються, індексуються.
  • Коли використовуються запити, що залучають різні двигуни зберігання (наприклад, коли в одному запиті є звернення до таблиць у двигунах InnoDB та Memory).
  • При використанні FORCE INDEX для покращення плану запиту.
  • У разі погіршення плану запиту у разі використання «ANALYZE TABLE».
  • Коли запит охоплює велику кількість похідних таблиць (велика кількість вкладених SELECT).
  • При використанні виразів ORDER BY або GROUP BY, які підпадають під індекси.

Основні порушення сумісності у гілці MariaDB 11:

  • Права SUPER більше не дозволяють виконувати дії, для яких доступні привілеї, що окремо виставляються. Наприклад, для зміни формату бінарних логів потрібні права BINLOG ADMIN.
  • Видалено реалізацію буфера змін в InnoDB.
  • Оголошено застарілими innodb_flush_method та innodb_file_per_table.
  • Оголошена застаріла підтримка імен mysql*.
  • Оголошено застарілим виставлення параметра explicit_defaults_for_timestamp значення 0.
  • В окремий пакет винесено символічні посилання для сумісності з MySQL.
  • Значення параметра innodb_undo_tablespaces за замовчуванням змінено на 3.

Джерело: opennet.ru

Додати коментар або відгук