Deset godina nakon osnivanja grane 10.x, objavljena je MariaDB 11.0.0, koja uvodi nekoliko značajnih poboljšanja i ključnih promjena. Ova grana je trenutno u alfa kvaliteti i bit će spremna za produkcijsku upotrebu nakon stabilizacije. Sljedeća veća grana, MariaDB 12, koja sadrži ključne promjene, očekuje se najranije za 10 godina (2032. godine).
Projekt MariaDB razvija fork MySQL-a, održavajući unatrag kompatibilnost gdje je to moguće i uključujući integraciju dodatnih mehanizama za pohranu i naprednih značajki. Razvoj MariaDB-a nadgleda neovisna MariaDB Foundation, slijedeći otvoren i transparentan proces razvoja neovisan o pojedinačnim dobavljačima. MariaDB se isporučuje kao zamjena za MySQL u mnogim distribucijama. Linux (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) i implementiran je u velike projekte kao što su Wikipedia, Google Cloud SQL i Nimbuzz.
Ključno poboljšanje u MariaDB 11 je prijelaz optimizatora upita na novi model troškova, koji pruža točnija predviđanja težine za svaki plan izvršavanja upita. Iako novi model ublažava neka uska grla u performansama, možda neće biti optimalan u svim scenarijima i može usporiti neke upite. Stoga se korisnike potiče da sudjeluju u testiranju i obavijeste razvojne programere ako se pojave bilo kakvi problemi.
Prethodno korišteni model bio je dobro prilagođen za pronalaženje optimalnog indeksa, ali je imao problema s primjenjivošću skeniranja tablica, skeniranja indeksa i operacija odabira raspona. Novi model rješava ovaj problem promjenom osnovne težine za operacije mehanizma za pohranu. Prilikom procjene performansi operacija ovisnih o disku, kao što su sekvencijalno skeniranje zapisa, sada se pretpostavlja da su podaci pohranjeni na SSD-u s brzinom čitanja od 400 MB u sekundi. Podešeni su i drugi parametri težine optimizatora, što je, na primjer, omogućilo korištenje indeksa za operacije ORDER BY/GROUP BY u podupitima i ubrzalo performanse s vrlo malim tablicama.
Napominje se da će novi model ponderiranja omogućiti odabir optimalnijeg plana izvršavanja upita u sljedećim situacijama:
- Prilikom korištenja upita koji obuhvaćaju više od dvije tablice.
- U prisutnosti indeksa koji sadrže veliki broj identičnih vrijednosti.
- Prilikom korištenja raspona koji pokrivaju više od 10% tablice.
- Kada imate složene upite gdje nisu svi korišteni stupci indeksirani.
- Kada se koriste upiti koji uključuju različite mehanizme za pohranu (na primjer, kada jedan upit pristupa tablicama u InnoDB i Memory mehanizmima).
- Prilikom korištenja FORCE INDEX-a za poboljšanje plana upita.
- Kada se plan upita pogorša pri korištenju "ANALIZIRAJ TABLICE".
- Kada upit pokriva veliki broj izvedenih tablica (veliki broj ugniježđenih SELECT-ova).
- Prilikom korištenja izraza ORDER BY ili GROUP BY koji kvalificiraju indekse.
Glavni problemi s kompatibilnošću u MariaDB 11:
- SUPER privilegije više ne dopuštaju radnje koje zahtijevaju zasebno dodijeljene privilegije. Na primjer, promjena binarnog formata zapisnika zahtijeva BINLOG ADMIN privilegije.
- Implementacija međuspremnika promjena u InnoDB-u je uklonjena.
- Postavke innodb_flush_method i innodb_file_per_table su zastarjele.
- Podrška za mysql* imena je zastarjela.
- Postavljanje parametra explicit_defaults_for_timestamp na 0 je zastarjelo.
- Simboličke poveznice su premještene u zaseban paket radi kompatibilnosti s MySQL-om.
- Zadana vrijednost parametra innodb_undo_tablespaces promijenjena je na 3.
Izvor: opennet.ru
