Представена нова значителна версия на СУБД 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

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster