Stabilná verzia databázového systému MariaDB 10.5

Po roku vývoja a štyroch predbežných vydaniach bol pripravený prvé stabilné vydanie novej vetvy DBMS MariaDB 10.4, v rámci ktorej sa vyvíja odvojenie od MySQL, zachovávajúce spätnú kompatibilitu a vyznačujúce sa 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ú Wikipedia, Google Cloud SQL a Nimbuzz.

Kľúčové vylepšenia MariaDB 10.5:

  • Pridaný úložný motor S3, 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 ColumnStore, ktorý ukladá dáta viazané na stĺpce a využíva masívne paralelné distribuované architektúry. Motor je založený na prácach MySQL úložiska InfiniDB 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 INET6 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 „INSERT … RETURNING“ a „REPLACE … RETURNING“, 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 „EXCEPT ALL“ a „INTERSECT ALL“ 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 „ALTER TABLE … RENAME INDEX / KEY“ a „ALTER TABLE … RENAME COLUMN«.
  • 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 „VISIBLE«.
  • Bolo pridané výrazu „CYCLE“ na zisťovanie rekurzívnych cyklov CTE.
  • Pridané funkcie JSON_ARRAYAGG a JSON_OBJECTAGG 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 binarni log, 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 DROP TABLE teraz spoľahlivo odstraňuje 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 GTID (Globálny Identifikátor Transakcií), jednotné identifikátory transakcií pre všetky uzly klastra.
  • Prechod na novú vetvu knižnice bol uskutočnený PCRE2 (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: MariaDB Connector/Python 1.0.0 a MariaDB Connector/C 3.1.9. 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

Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Kúpte si spoľahlivý hosting pre webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster