Oracle je kreirao novu granu MySQL 9.1.0 DBMS. MySQL Community Server 9.1.0 verzije su pripremljene za sve glavne Linux, FreeBSD, macOS i Windows distribucije. Kao dio novog modela izdanja predstavljenog prošle godine, MySQL 9.1 je klasifikovan kao grana „Inovacija“, koja će također uključivati sljedeće veliko izdanje, MySQL 9.2. Inovacijske grane se preporučuju onima koji žele rani pristup novoj funkcionalnosti, objavljuju se svaka 3 mjeseca i podržavaju se samo do objave sljedećeg značajnog izdanja (na primjer, nakon pojave grane 9.1, podrška za granu 9.0 je ukinuta ). Sljedećeg ljeta planiraju kreirati LTS izdanje preporučeno za implementacije koje zahtijevaju predvidljivost i dugoročno očuvanje nepromijenjenog ponašanja. Nakon LTS grane formiraće se nova grana Innovation - MySQL 10.0.
Glavne promjene u MySQL 9.1:
- Podrška za izraz “IF NOT EXISTS” je dodana operaciji “CREATE VIEW”, koja vam omogućava da organizirate kreiranje pogleda samo ako pogled sa navedenim imenom već ne postoji i izbjegavanje vraćanja greške ako pogled je već kreiran.
- Zaustavljeno učitavanje aktivira se prilikom izvođenja operacija samo za čitanje. Ranije su se okidači učitavali svaki put kada se pristupalo tablici, trošeći memoriju i stvarajući opterećenje CPU-a u situacijama kada se okidači nisu koristili (na primjer, prilikom izvršavanja SELECT upita). U MySQL 9.1, obrada i učitavanje okidača je podijeljeno u dvije faze: čitanje metapodataka o okidaču i raščlanjivanje + izvršavanje okidača. Podaci dobiveni u prvoj fazi pohranjuju se jednom, a zatim se dijele u različitim instancama okidača. Okidač se analizira i izvršava samo za izraze koji mijenjaju podatke. Osim toga, da bismo smanjili potrošnju memorije, umjesto statičkog dodjeljivanja bafera za rukovanje greškama u okidačima, prešli smo na dinamičku dodjelu memorije prema potrebi.
- Izlaz operacije EXPLAIN proširen je kako bi prikazao informacije o korištenju čitanja s više raspona i korištenju strategije polupridruživanja, u kojoj operacije JOIN obrađuju redove iz samo jedne tablice.
- Atomsko izvršavanje operacija “CREATE DATABASE” i “DROP DATABASE” je predviđeno radi zaštite od kvarova u slučaju pada ili grešaka na nivou sistema datoteka tokom izvršavanja ovih operacija. Na primjer, ranije, kada se “CREATE DATABASE” srušio, mogla se stvoriti nekompletna nefunkcionalna struktura skladištenja baze podataka, koja je zahtijevala ručnu intervenciju za čišćenje.
- Pohranjene procedure napisane u JavaScript-u pružaju podršku za tip VECTOR. Podaci sa navedenim tipom sada se mogu proslijediti u ulaznim i povratnim parametrima.
- Dodata mogućnost autentifikacije prilikom povezivanja na DBMS koristeći OpenID Connect protokol.
- Ispravljeno je dvadeset sedam ranjivosti, od kojih je najozbiljnija (CVE-2024-5535) dobila kritični nivo ozbiljnosti (9.1 od 10). Ranjivost se može iskoristiti daljinski bez autentifikacije. Problem je uzrokovan čitanjem izvan granica u OpenSSL biblioteci i dovodi do pada sistema ili curenja memorije u odgovoru nakon povezivanja na... server sa indikacijom netačnih parametara protokola.
izvor: opennet.ru
