Po roku vývoja a štyroch predbežných vydaniach prvé stabilné vydanie novej vetvy DBMS , v rámci ktorej sa vyvíja odvojenie od MySQL, zachovávajúce spätnú kompatibilitu a integračnou ďalších úložných motorov a rozšírenými funkciami. Podpora novej vetvy bude zabezpečená 5 rokov, do júna 2025.
Rozvoj MariaDB spravuje nezávislá organizácia MariaDB Foundation v súlade s plne otvoreným a transparentným vývojovým procesom, nezávislým od jednotlivých výrobcov. MariaDB sa dodáva namiesto MySQL v mnohých distribúciách Linuxu (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) a je implementovaný v takých veľkých projektoch, ako sú , a .
Kľúčové :
- Pridaný úložný motor , ktorý umožňuje umiestňovať tabuľky MariaDB na Amazon S3 alebo akomkoľvek inom verejnom alebo súkromnom cloudovom úložisku, ktoré podporuje API S3. Podporuje sa umiestnenie v S3 ako bežných, tak aj delených (partitioned) tabuliek. Pri umiestnení v cloude delených tabuliek, môžu byť priamo používané aj z iného servera, ktorý má prístup k úložisku S3.
- Pridaný úložný motor , ktorý ukladá dáta viazané na stĺpce a využíva distribuované architektúry. Motor je založený na prácach MySQL úložiska a je určený na organizovanie spracovania a vykonávania analytických dotazov nad veľkými objemami dát (Data Warehouse).
ColumnStore ukladá dáta nie po riadkoch, ale rozdelené po stĺpcoch, čo umožňuje optimalizáciu vykonávania agregácie podľa stĺpcov z veľkého DB, ktoré obsahuje petabajty dát. Podporuje sa lineárne škálovanie, ukladanie dát v zkomprimovanej forme, vertikálne a horizontálne delenie, efektívne vykonávanie súbežných dotazov. - Všetky spustiteľné súbory, ktoré začínajú slovom „mysql“ boli premenované s použitím slova „mariadb“. Staré názvy boli zachované vo forme symbolických odkazov.
- Pridaný nový typ dát na uchovávanie adries IPv6.
- Prebehla práca na rozdelení práv na menšie časti. Namiesto všeobecného privilégia SUPER sa navrhuje séria selektívnych privilégií „BINLOG ADMIN“
„BINLOG REPLAY“,
„CONNECTION ADMIN“,
„FEDERATED ADMIN“,
„READ_ONLY ADMIN“,
„REPLICATION MASTER ADMIN“,
„REPLICATION SLAVE ADMIN“ a
„SET USER“. - Privilégium „REPLICATION CLIENT“ bolo premenované na „BINLOG MONITOR“, a výraz „SHOW MASTER STATUS“ na „SHOW BINLOG STATUS“. Premeňovanie upresňuje správanie a nie je spojené s politickou korektnosťou, projekt sa nezriekol termínov master/slave a dokonca pridalo nové privilégia „MASTER ADMIN“ a „SLAVE ADMIN“. Pri tom v SQL výrazoch bol pridaný nový kľúč „REPLICA“, ktorý je synonymom „SLAVE“.
- Pre niektoré výrazy boli zmenené privilégia potrebné na ich vykonanie. „SHOW BINLOG EVENTS“ teraz vyžaduje práva „BINLOG MONITOR“ namiesto „REPLICATION SLAVE“, „SHOW SLAVE HOSTS“ vyžaduje privilégium „REPLICATION MASTER ADMIN“ namiesto „REPLICATION SLAVE“, „SHOW SLAVE STATUS“ vyžaduje práva „REPLICATION SLAVE ADMIN“ alebo „SUPER“ namiesto „REPLICATION CLIENT“, „SHOW RELAYLOG EVENTS“ vyžaduje práva „REPLICATION SLAVE ADMIN“ namiesto „REPLICATION SLAVE“.
- Boli pridané konštrukcie „“ a „“, ktoré vracajú zoznam vložených/nahrazených riadkov v tvare, akoby sa hodnoty vracali pri použití výrazu SELECT (na analógiu s „DELETE … RETURNING“).
INSERT INTO t2 VALUES (1, ’Dog’), (2, ’Lion’), (3, ’Tiger’), (4, ’Leopard’)
RETURNING id2, id2+id2, id2&id2, id2||id2;
+——+———+———+———-+
| id2 | id2+id2 | id2&id2 | id2||id2 |
+——+———+———+———-+
| 1 | 2 | 1 | 1 |
| 2 | 4 | 2 | 1 |
| 3 | 6 | 3 | 1 |
| 4 | 8 | 4 | 1 |
+——+———+———+———-+ - Boli pridané výrazy „“ a „“ pre vylúčenie/doplnkovanie výsledku určitým súborom hodnôt.
- Objavila sa možnosť uvádzať komentáre vo vnútri blokov „CREATE DATABASE“ a „ALTER DATABASE“.
- Boli pridané konštrukcie na premenovanie indexov a stĺpcov „“ a „«.
- V operácii „ALTER TABLE“ a „RENAME TABLE“ bola pridaná podpora podmienky „IF EXISTS“ na vykonanie operácie iba pri existencii tabuľky;
- Pre indexy v „CREATE TABLE“ bol realizovaný atribút „«.
- Bolo pridané výrazu „CYCLE“ na zisťovanie rekurzívnych cyklov .
- Pridané funkcie a na vrátenie poľa alebo objektu JSON s hodnotami určeného stĺpca.
- Boli pridané pomocné informačné tabuľky (THREAD_POOL_GROUPS, THREAD_POOL_QUEUES, THREAD_POOL_STATS a THREAD_POOL_WAITS) pre pool vláken (thread_pool).
- Výraz ANALYZE bol rozšírený o zobrazenie času, ktorý sa trávi na overovaní bloku WHERE a vykonávaní pomocných operácií.
- V optimalizátore spracovania rozsahov boli zohľadnené znaky „IS NOT NULL“
- Podstatne sa znížila veľkosť dočasných súborov používaných pri triedení s typmi VARCHAR, CHAR a BLOB.
- V , používané na organizáciu replikácie, boli pridané nové polia s metadátami, vrátane Primárneho Kľúča, Názvu Stĺpca, Znakovej Sady a Geometrického Typu. V nástroji mariadb-binlog a príkazoch „SHOW BINLOG EVENTS“ a „SHOW RELAYLOG EVENTS“ je zobrazenie replikačných vlajok zabezpečené.
- Konštrukcia teraz spoľahlivo tabuľky, ktoré zostávajú v úložnom engine, aj keď chýbajú súbory „.frm“ alebo „.par“.
- Bola implementovaná hardvérom zrýchlená verzia funkcie crc32() pre CPU AMD64, ARMv8 a POWER 8.
- Zmenené niektoré predvoľby. Parameter innodb_encryption_threads bol zvýšený na 255 a hodnota max_sort_length bola zvýšená z 4 na 8.
- Bolo predstavených množstvo optimalizácií výkonu motoru InnoDB.
- Do mechanizmu synchronnej multi-master replikácie Galera bola pridaná plná podpora (Globálny Identifikátor Transakcií), jednotné identifikátory transakcií pre všetky uzly klastra.
- Prechod na novú vetvu knižnice bol uskutočnený (Perl Compatible Regular Expressions), namiesto klasickej série PCRE 8.x.
- Boli navrhnuté nové verzie obalov na pripojenie k databázovým systémom MariaDB a MySQL zo softvéru v jazykoch Python a C: a . Obal pre Python zodpovedá Python DB API 2.0, je napísaný v jazyku C a používa na pripojenie k serveru knižnicu Connector/C.
Zdroj: opennet.ru
