MySQL DBMS 9.1.0 izlaiŔana

Oracle ir izveidojis jaunu MySQL 9.1.0 DBVS atzaru. MySQL Community Server 9.1.0 versijas ir sagatavotas visiem lielākajiem Linux, FreeBSD, macOS un Windows izplatÄ«jumiem. Kā daļa no jaunā izlaiduma modeļa, kas tika ieviests pagājuÅ”ajā gadā, MySQL 9.1 ir klasificēts kā ā€œInovācijasā€ nozare, kurā bÅ«s iekļauts arÄ« nākamais lielākais laidiens MySQL 9.2. Inovāciju zari ir ieteicami tiem, kas vēlas agrÄ«nu piekļuvi jaunai funkcionalitātei, tiek publicēti ik pēc 3 mēneÅ”iem un tiek atbalstÄ«ti tikai lÄ«dz nākamā nozÄ«mÄ«gā laidiena publicēŔanai (piemēram, pēc 9.1 filiāles parādīŔanās tika pārtraukts atbalsts 9.0 filiālei ). Nākamajā vasarā viņi plāno izveidot LTS versiju, kas ieteicama ievieÅ”anai, kas prasa paredzamÄ«bu un ilgstoÅ”u nemainÄ«gas uzvedÄ«bas saglabāŔanu. Pēc LTS filiāles tiks veidota jauna Inovāciju filiāle - MySQL 10.0.

Galvenās MySQL 9.1 izmaiņas:

  • Operācijai ā€œCREATE VIEWā€ ir pievienots atbalsts izteiksmei ā€œIF NOT EXISTSā€, kas ļauj organizēt skata izveidi tikai tad, ja skats ar norādÄ«to nosaukumu jau nepastāv un izvairÄ«ties no kļūdas atgrieÅ”anas, ja skats jau ir izveidots.
  • Tika pārtraukta aktivizētāju ielāde, veicot tikai lasāmas darbÄ«bas. IepriekÅ” trigeri tika ielādēti ikreiz, kad tika piekļūts tabulai, tādējādi iztērējot atmiņu un radot CPU slodzi situācijās, kad trigeri netika izmantoti (piemēram, izpildot SELECT vaicājumus). Programmā MySQL 9.1 trigeru apstrāde un ielāde ir sadalÄ«ta divos posmos: metadatu nolasīŔana par trigeri un parsēŔana + trigera izpilde. Pirmajā posmā iegÅ«tie dati tiek glabāti vienreiz un pēc tam tiek kopÄ«goti dažādos trigera gadÄ«jumos. Trigeris tiek parsēts un izpildÄ«ts tikai izteiksmēm, kas maina datus. Turklāt, lai samazinātu atmiņas patēriņu, tā vietā, lai statiski pieŔķirtu buferus kļūdu apstrādei trigeros, mēs pēc vajadzÄ«bas pārgājām uz dinamisko atmiņas pieŔķirÅ”anu.
  • Operācijas EXPLAIN izvade ir paplaÅ”ināta, lai parādÄ«tu informāciju par vairāku diapazonu nolasÄ«jumu izmantoÅ”anu un semijoin stratēģijas izmantoÅ”anu, kurā JOIN operācijas apstrādā rindas tikai no vienas tabulas.
  • Operāciju ā€œCREATE DATABASEā€ un ā€œDROP DATABASEā€ atomu izpilde tiek nodroÅ”ināta, lai aizsargātu pret kļūmēm avārijas vai kļūdu gadÄ«jumā failu sistēmas lÄ«menÄ« Å”o darbÄ«bu izpildes laikā. Piemēram, iepriekÅ”, kad ā€œCREATE DATABASEā€ avarēja, varēja tikt izveidota nepilnÄ«ga nestrādājoÅ”a datu bāzes krātuves struktÅ«ra, kuras tÄ«rīŔanai bija nepiecieÅ”ama manuāla iejaukÅ”anās.
  • Saglabātās procedÅ«ras, kas rakstÄ«tas JavaScript, nodroÅ”ina atbalstu VECTOR tipam. Datus ar norādÄ«to tipu tagad var nodot ievades un atgrieÅ”anas parametros.
  • Pievienota iespēja autentificēties, pieslēdzoties DBVS, izmantojot OpenID Connect protokolu.
  • Ir novērstas divdesmit septiņas ievainojamÄ«bas, no kurām visnopietnākajai (CVE-2024-5535) ir pieŔķirts kritisks nopietnÄ«bas lÄ«menis (9.1 no 10). IevainojamÄ«bu var izmantot attālināti bez autentifikācijas. Problēmu izraisa ārpus robežām nolasÄ«ts teksts OpenSSL bibliotēkā, un tā izraisa avāriju vai atmiņas noplÅ«di atbildē pēc savienojuma izveides ar serveris ar norādi uz nepareiziem protokola parametriem.

Avots: opennet.ru

Pievieno komentāru