Bevezetésre került a MariaDB 11 DBMS egy új jelentős ága

10 évvel a 10.x ág megalapítása után megjelent a MariaDB 11.0.0, amely számos jelentős fejlesztést és változtatást kínált, amelyek megszakították a kompatibilitást. Az ág jelenleg alfa kiadású, és stabilizálás után készen áll a gyártásra. A MariaDB 12 következő nagy ága, amely a kompatibilitást megbontó változtatásokat tartalmaz, legkorábban 10 év múlva (2032-ben) várható.

A MariaDB projekt egy elágazást fejleszt a MySQL-ből, ahol csak lehetséges, fenntartja a visszamenőleges kompatibilitást, valamint további tárolómotorok és fejlett képességek integrálását tartalmazza. A MariaDB fejlesztését a független MariaDB Alapítvány felügyeli, egy nyílt és átlátható fejlesztési folyamatot követve, amely független az egyes szállítóktól. A MariaDB DBMS-t a MySQL helyett számos Linux disztribúcióban (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) szállítják, és olyan nagy projektekben valósították meg, mint a Wikipedia, a Google Cloud SQL és a Nimbuzz.

A MariaDB 11 ág egyik legfontosabb fejlesztése a lekérdezésoptimalizáló átállása egy új súlyozási modellre (költségmodellre), amely pontosabb előrejelzést biztosít az egyes lekérdezési tervek súlyozásáról. Bár az új modell enyhíthet bizonyos teljesítménybeli szűk keresztmetszeteken, nem biztos, hogy minden forgatókönyvben optimális, és lelassíthat egyes lekérdezéseket, ezért a felhasználókat arra ösztönzik, hogy vegyenek részt a tesztelésben, és értesítsék a fejlesztőket, ha problémák merülnek fel.

Az előző modell jól tudta megtalálni az optimális indexet, de problémái voltak a táblázatvizsgálatok, az indexvizsgálatok vagy a tartománylehívási műveletek alkalmazhatóságával. Az új modellben ez a hátrány kiküszöbölhető a tárolómotorral végzett műveletek alapsúlyának megváltoztatásával. A lemezsebességtől függő műveletek, például a szekvenciális írási szkennelések teljesítményének értékelésekor most azt feltételezzük, hogy az adatokat egy SSD-n tárolják, amely 400 MB/s olvasási sebességet biztosít. Ezenkívül az optimalizáló egyéb súlyparamétereit is hangolták, amelyek például lehetővé tették az indexek használatát az „ORDER BY/GROUP BY” műveletekhez az allekérdezésekben, és felgyorsították a munkát nagyon kis táblákkal.

Megjegyezzük, hogy az új súlymodell lehetővé teszi, hogy optimálisabb lekérdezés-végrehajtási tervet válasszon a következő helyzetekben:

  • Ha 2-nél több táblát átívelő lekérdezéseket használ.
  • Ha vannak olyan indexek, amelyek nagyszámú azonos értéket tartalmaznak.
  • Ha olyan tartományokat használ, amelyek a táblázat több mint 10%-át fedik le.
  • Ha összetett lekérdezései vannak, amelyekben nincs minden használt oszlop indexelve.
  • Amikor olyan lekérdezéseket használnak, amelyek különböző tárolómotorokat foglalnak magukban (például amikor egy lekérdezés az InnoDB és a Memory motorok tábláit éri el).
  • Amikor FORCE INDEX-et használ a lekérdezési terv javítására.
  • Amikor a lekérdezési terv romlik az "ANALÍZI TÁBLÁZAT" használatakor.
  • Ha a lekérdezés nagyszámú származtatott táblát ölel fel (nagyszámú beágyazott SELECT).
  • Ha olyan ORDER BY vagy GROUP BY kifejezéseket használ, amelyek indexek alá tartoznak.

Főbb kompatibilitási problémák a MariaDB 11 ágban:

  • A SUPER jogok már nem teszik lehetővé olyan műveletek végrehajtását, amelyekhez külön beállított jogosultságok állnak rendelkezésre. Például a bináris naplók formátumának megváltoztatásához BINLOG ADMIN jogokra lesz szüksége.
  • Eltávolította a változáspuffer megvalósítását az InnoDB-ben.
  • Az Innodb_flush_method és az innodb_file_per_table elavult.
  • A Mysql* név támogatása megszűnt.
  • Az explicit_defaults_for_timestamp 0-ra állítása elavult.
  • A szimbolikus hivatkozásokat külön csomag tartalmazza a MySQL-lel való kompatibilitás érdekében.
  • Az innodb_undo_tablespaces paraméter alapértelmezett értéke 3-ra módosult.

Forrás: opennet.ru

Hozzászólás