MySQL DBMS 9.1.0 väljalase

Oracle on loonud MySQL 9.1.0 DBMS-i uue haru. MySQL Community Server 9.1.0 versioonid on ette valmistatud kõigi suuremate Linuxi, FreeBSD, macOS-i ja Windowsi distributsioonide jaoks. Eelmisel aastal tutvustatud uue väljalaskemudeli osana on MySQL 9.1 klassifitseeritud "innovatsiooni" haruks, mis hõlmab ka järgmist suuremat versiooni MySQL 9.2. Innovatsiooniharusid soovitatakse neile, kes soovivad varajast juurdepääsu uutele funktsioonidele, avaldatakse iga 3 kuu tagant ja neid toetatakse ainult kuni järgmise olulise väljaande avaldamiseni (näiteks pärast 9.1 haru ilmumist katkestati 9.0 haru tugi ). Järgmisel suvel kavatsevad nad luua LTS-i väljalase, mida soovitatakse rakenduste jaoks, mis nõuavad prognoositavust ja pikaajalist muutumatu käitumise säilitamist. Pärast LTS-i haru moodustatakse uus innovatsiooni haru - MySQL 10.0.

Peamised muudatused MySQL 9.1-s:

  • Operatsioonile "LOO VAATE" on lisatud avaldise "IF NOT EXISTS" tugi, mis võimaldab korraldada vaate loomist ainult siis, kui määratud nimega vaadet veel ei eksisteeri ja vältida vea tagastamist, kui vaade on juba loodud.
  • Kirjutuskaitstud toimingute tegemisel peatati päästikute laadimine. Varem laaditi trigerid iga kord, kui tabelile ligi pääseti, raiskades mälu ja tekitades protsessori koormuse olukordades, kus päästikuid ei kasutatud (näiteks SELECT-päringute täitmisel). MySQL 9.1-s on päästikute töötlemine ja laadimine jagatud kaheks etapiks: päästiku metaandmete lugemine ja trigeri sõelumine + käivitamine. Esimeses etapis saadud andmed salvestatakse üks kord ja seejärel jagatakse erinevate käivitusjuhtumite vahel. Päästikut sõelutakse ja käivitatakse ainult andmeid muutvate avaldiste puhul. Lisaks läksime mälutarbimise vähendamiseks trigerites vigade käsitlemiseks puhvrite staatilise eraldamise asemel ümber vastavalt vajadusele dünaamilisele mälujaotusele.
  • Operatsiooni EXPLAIN väljundit on laiendatud, et näidata teavet mitme vahemiku lugemise kasutamise ja poolliitmise strateegia kasutamise kohta, mille puhul JOIN toimingud töötlevad ridu ainult ühest tabelist.
  • Toimingute "CREATE DATABASE" ja "DROP DATABASE" aatomi täitmine on ette nähtud selleks, et kaitsta tõrgete eest krahhi või failisüsteemi tasemel vigade korral nende toimingute täitmise ajal. Näiteks varem, kui "CREATE DATABASE" jooksis kokku, võis tekkida puudulik mittetöötav andmebaasi salvestusstruktuur, mille puhastamiseks oli vaja käsitsi sekkuda.
  • JavaScriptis kirjutatud salvestatud protseduurid toetavad VECTOR tüüpi. Määratud tüüpi andmeid saab nüüd edastada sisend- ja tagastusparameetrites.
  • Lisati autentimisvõimalus DBMS-iga ühenduse loomisel, kasutades OpenID Connecti protokolli.
  • Parandatud on 27 haavatavust, millest kõige tõsisemale (CVE-2024-5535) on määratud kriitiline raskusaste (9.1 kümnest). Haavatavust saab ära kasutada kaugjuurdepääsuga ilma autentimiseta. Probleemi põhjustab OpenSSL-teegis lubatud piiridest väljas lugemine ja see viib pärast ühenduse loomist krahhi või mälulekkeni vastuses. server valede protokolliparameetrite näitamisega.

Allikas: opennet.ru

Lisa kommentaar