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

Дадаць каментар