Pas 10 vjetësh nga themelimi i degës 10.x, është lëshuar versioni 11.0.0 i DBMS MariaDB, në të cilin ofrohen disa përmirësime të rëndësishme dhe ndryshime që shkelin kompatibilitetin. Kjo degë është akoma në cilësinë e lëshimit alfa dhe do të jetë e gatshme për aplikacione të punës pas stabilizimit. Formimi i degës tjetër të rëndësishme MariaDB 12, që përmban ndryshime që shkelin kompatibilitetin, pritet të ndodhë jo më herët se 10 vjet (në vitin 2032).
Projekti MariaDB zhvillon një degë nga MySQL, duke ruajtur sa më shumë që të jetë e mundur compatibilitetin e prapë dhe duke u dalluar për integrimin e motorëve të ruajtjes shtesë dhe mundësive të zgjëruara. Zhvillimi i MariaDB mbikëqyret nga organizata e pavarur MariaDB Foundation në përputhje me një proces të hapur dhe transparent zhvillimi, i cili nuk mbështetet në prodhues të veçantë. DBMS MariaDB ofrohet në vend të MySQL në shumë distribucione Linux (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) dhe është implementuar në projekte të mëdha si Wikipedia, Google Cloud SQL dhe Nimbuzz.
Përmirësimi kryesor në degën MariaDB 11 është kalimi i optimizuesit të pyetjeve në një model të ri peshe (cost model), i cili siguron parashikim më të saktë të peshave të çdo plani të ekzekutimit të pyetjes. Edhe pse modeli i ri lejon eliminimin e disa ngushticave me performancën, nuk përjashtohet që ai të mos jetë optimal në të gjitha skenarët dhe është e mundur të ngadalësohen disa pyetje, prandaj përdoruesit inkurajohen të marrin pjesë në testim dhe të informojnë zhvilluesit nëse hasin ndonjë problem.
Modeli i mëparshëm ishte i përshtatshëm për gjetjen e indekseve optimale, por kishte probleme me aplikimin e operacioneve të skanimit të tabelave, skanimit të indekseve ose kërkimit në intervale. Në modelin e ri, kjo mangësi është eliminuar përmes ndryshimit të peshës bazë të operacioneve me motorin e ruajtjes. Kur vlerësohet performanca e operacioneve që varen nga shpejtësia e punës me diskun, siç janë skanimi i rreshtave në mënyrë të vazhdueshme, tani supozohet se të dhënat ruhen në një SSD që siguron shpejtësi leximi prej 400MB në sekondë. Për më tepër, janë rregulluar edhe parametra të tjerë pesha të optimizuesit, të cilat, për shembull, lejuan realizimin e mundësisë së përdorimit të indekseve për operacionet 'ORDER BY/GROUP BY' në nënkërkesa dhe përshpejtuan punën me tabela shumë të vogla.
Vërehet se modeli i ri i peshës do të lejojë zgjedhjen e një plani më optimal për kryerjen e kërkesës në situata të tjera:
- Kur përdoren kërkesa që përfshijnë më shumë se 2 tabela.
- Kur ekzistojnë indekse që përmbajnë një numër të madh vlerash të njëjta.
- Kur përdoren intervale që përfshijnë më shumë se 10% të tabelës.
- Kur ekzistojnë kërkesa komplekse, në të cilat nuk të gjithë kolonat e përdorur janë të indekseuar.
- Kur përdoren kërkesa që përfshijnë motorë të ndryshëm ruajtjeje (për shembull, kur në një kërkesë ka referenca në tabela në motorët InnoDB dhe Memory).
- Kur përdoret FORCE INDEX për të përmirësuar planin e kërkesës.
- Kur planifikimi i kërkesës përkeqësohet në rastin e përdorimit të 'ANALYZE TABLE'.
- Kur kërkesa përfshin një numër të madh të tabelave të derivuara (numër i madh i SELECT të thelluar).
- Kur përdoren shprehje ORDER BY ose GROUP BY që bien nën indekse.
Shkeljet kryesore të kompatibilitetit në degën MariaDB 11:
- Të drejtat SUPER nuk lejojnë më kryerjen e veprimeve për të cilat janë të nevojshme privilegje të ndara. Për shembull, për të ndryshuar formatin e logjeve binare do të nevojiten të drejtat BINLOG ADMIN.
- Zbatimi i buffer-it të ndryshimeve në InnoDB është hequr.
- innodb_flush_method dhe innodb_file_per_table janë shpallur të vjetra.
- Përkrahja e emrave mysql* është shpallur e vjetruar.
- Konfigurimi i parametrave explicit_defaults_for_timestamp në 0 është shpallur i vjetruar.
- Linket simbolike për kompatibilitet me MySQL janë nxjerrë në një paketë të veçantë.
- Vlera e parametrave innodb_undo_tablespaces është ndryshuar në 3.
Burimi: opennet.ru
