A 10.x ág megalapítása óta eltelt 10 év után megérkezett a MariaDB 11.0.0 adatbázis-kezelő rendszer kiadása, amely számos jelentős fejlesztést és összeegyeztethetőséget sértő változást kínál. Az ág jelenleg alfa kiadású, és stabilizálás után válik majd alkalmassá éles felhasználásra. A következő jelentős MariaDB 12 ág képzése, amely összeegyeztethetőséget sértő változásokat tartalmaz, nem várható korábban 10 év múlva (2032).
A MariaDB projekt egy MySQL-ből származó ágat fejleszt, amely lehetőség szerint megőrzi a visszafelé kompatibilitást, és kiegészítő tárolómotorok integrálásával és kibővített lehetőségekkel rendelkezik. A MariaDB fejlődését a független MariaDB Foundation irányítja egy nyílt és átlátható fejlesztési folyamat keretében, függetlenül a különböző gyártóktól. A MariaDB adatbázis-kezelő rendszer sok Linux disztribúcióban (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) a MySQL helyett kerül forgalomba, és olyan nagy projektben, mint a Wikipedia, Google Cloud SQL és Nimbuzz, van bevezetve.
A MariaDB 11 ág kulcsfontosságú fejlesztése az új költségmodellel rendelkező lekérdezésoptimalizáló bevezetése, amely pontosabb előrejelzést biztosít a lekérdezési terv minden egyes végrehajtási tervének költségeiről. Bár az új modell segít elkerülni néhány teljesítménybeli szűk keresztmetszetet, elképzelhető, hogy nem minden forgatókönyvben lesz optimális, és egyes lekérdezések lassulását is előidézheti; ezért a felhasználóknak ajánlott részt venni a tesztelésben, és értesíteni a fejlesztőket, ha problémákat tapasztalnak.
A korábban használt modell jól alkalmas volt az optimális indexek meghatározására, de problémái adódtak a táblák indexelésének, a táblázatos szkennelésnek vagy a tartományok szerinti kiválasztásnak az alkalmazhatóságával. Az új modell ezt a hátrányt a tároló motorral végzett műveletek alapértékének megváltoztatásával küszöbölte ki. A lemez sebességétől függő műveletek teljesítményének értékelésekor, mint például a rekordok sorozatos szkennelése, most azt feltételezik, hogy az adatok SSD-meghajtón tárolódnak, amely 400MB/s olvasási sebességet biztosít. Továbbá a lekérdezésoptimalizáló egyéb súlyparamétereinek finomhangolása is megtörtént, ami például lehetővé tette az indexek használatát az 'ORDER BY/GROUP BY' műveletekben a szublekérdezésekben, és felgyorsította a nagyon kis táblák kezelését.
Megjegyzendő, hogy az új súlyozási modell lehetővé teszi az optimális lekérdezésvégrehajtási terv kiválasztását a következő helyzetekben:
- Több mint 2 táblát érintő lekérdezések használatakor.
- Amikor olyan indexek állnak rendelkezésre, amelyekben nagy a számos azonos érték.
- Tömbök használatakor, amelyek több mint 10%-át fedik le a táblának.
- Amikor bonyolult lekérdezések vannak, ahol nem minden használt oszlop van indexelve.
- Amikor olyan lekérdezések készülnek, amelyek különböző tárolómotorokat vonzanak (például amikor egy lekérdezés során InnoDB és Memory táblákra is hivatkoznak).
- FORCE INDEX alkalmazásakor a lekérdezésterv javítása érdekében.
- A lekérdezésterv romlása esetén az 'ANALYZE TABLE' használatakor.
- Amikor a lekérdezés nagyszámú származtatott táblát érint (nagy számú beágyazott SELECT).
- ORDER BY vagy GROUP BY kifejezések használatakor, amelyek az indexek alá tartoznak.
A MariaDB 11-es ágban főbb kompatibilitási megsértések:
- A SUPER jogok már nem teszik lehetővé a külön-külön megadott privilegált műveletek elvégzését. Például a bináris naplók formátumának megváltoztatásához szükséges a BINLOG ADMIN jog.
- Az InnoDB-ben a változásgyorsítótár megvalósítása eltávolítva.
- A innodb_flush_method és innodb_file_per_table elavultnak kiáltva.
- A mysql* nevek támogatása elavultnak kiáltva.
- Az explicit_defaults_for_timestamp paraméter 0-ra állítása elavult.
- A MySQL kompatibilitásához szükséges szimbolikus hivatkozásokat külön csomagba helyezték.
- Az innodb_undo_tablespaces paraméter alapértéke 3-ra változott.
Forrás: opennet.ru
