Praėjus 10 metų nuo 10.x filialo įkūrimo, buvo išleista MariaDB 11.0.0, kuri pasiūlė keletą reikšmingų patobulinimų ir pakeitimų, dėl kurių buvo pažeistas suderinamumas. Šiuo metu filialas yra alfa išleidimo kokybės ir po stabilizavimo bus paruoštas naudoti gamyboje. Kitas svarbus MariaDB 12 filialas, kuriame yra suderinamumą pažeidžiančių pakeitimų, turėtų pasirodyti ne anksčiau kaip po 10 metų (2032 m.).
„MariaDB“ projektas kuria „MySQL“ atšaką, išlaikydamas atgalinį suderinamumą, kur įmanoma, ir integruodamas papildomus saugojimo variklius bei pažangias funkcijas. „MariaDB“ kūrimą prižiūri nepriklausomas „MariaDB Foundation“, laikantis atviro ir skaidraus kūrimo proceso, nepriklausomo nuo atskirų tiekėjų. „MariaDB“ tiekiama kaip „MySQL“ pakaitalas daugelyje distribucijų. Linux (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch) Linux, Debian) ir buvo įdiegta tokiuose dideliuose projektuose kaip „Wikipedia“, „Google Cloud SQL“ ir „Nimbuzz“.
Pagrindinis MariaDB 11 šakos patobulinimas yra užklausų optimizavimo priemonės perėjimas prie naujo svorio modelio (kaštų modelio), kuris leidžia tiksliau nuspėti kiekvieno užklausos plano svorius. Nors naujasis modelis gali sumažinti kai kurias našumo kliūtis, jis gali būti ne visais atvejais optimalus ir gali sulėtinti kai kurias užklausas, todėl vartotojai raginami dalyvauti bandymuose ir pranešti kūrėjams, jei iškyla problemų.
Ankstesnis modelis buvo geras ieškant optimalaus indekso, tačiau turėjo problemų dėl lentelių nuskaitymo, indekso nuskaitymo ar diapazono gavimo operacijų taikymo. Naujajame modelyje šis trūkumas pašalintas pakeitus bazinį operacijų su saugojimo varikliu svorį. Vertindami nuo disko greičio priklausančių operacijų, pvz., nuoseklaus rašymo nuskaitymo, našumą, dabar darome prielaidą, kad duomenys saugomi SSD diske, kuris užtikrina 400 MB per sekundę skaitymo greitį. Be to, buvo sureguliuoti ir kiti optimizatoriaus svorio parametrai, kurie, pavyzdžiui, leido įdiegti indeksus „ORDER BY/GROUP BY“ operacijoms antrinėse užklausose ir pagreitinti darbą su labai mažomis lentelėmis.
Pažymima, kad naujas svorio modelis leis pasirinkti optimalesnį užklausos vykdymo planą šiose situacijose:
- Kai naudojamos užklausos, apimančios daugiau nei 2 lenteles.
- Kai turite indeksų, kuriuose yra daug identiškų reikšmių.
- Kai naudojami diapazonai, apimantys daugiau nei 10 % lentelės.
- Kai turite sudėtingų užklausų, kuriose ne visi naudojami stulpeliai yra indeksuojami.
- Kai naudojamos užklausos, apimančios skirtingus saugojimo variklius (pavyzdžiui, kai viena užklausa pasiekia InnoDB ir atminties variklių lenteles).
- Kai naudojate FORCE INDEX, kad pagerintumėte užklausos planą.
- Kai užklausos planas pablogėja naudojant „ANALIZUOTI LENTELĘ“.
- Kai užklausa apima daug išvestinių lentelių (didelis įdėtųjų SELECT skaičius).
- Kai naudojate ORDER BY arba GROUP BY išraiškas, kurios patenka į indeksus.
Pagrindinės MariaDB 11 filialo suderinamumo problemos:
- SUPER teisės nebeleidžia atlikti veiksmų, kuriems galimos atskirai nustatytos privilegijos. Pavyzdžiui, norint pakeisti dvejetainių žurnalų formatą, jums reikės BINLOG ADMIN teisių.
- Pašalintas pakeitimų buferio diegimas InnoDB.
- Innodb_flush_method ir innodb_file_per_table nebenaudojami.
- Mysql* vardo palaikymas nebenaudojamas.
- Nustatyti explicit_defaults_for_timestamp į 0 buvo nebenaudojama.
- Simbolinės nuorodos yra įtrauktos į atskirą paketą, skirtą suderinamumui su MySQL.
- Numatytoji parametro innodb_undo_tablespaces reikšmė pakeista į 3.
Šaltinis: opennet.ru
