MariaDB 10.5 stabiilne väljalase

Pärast aastast arendust ja nelja eelväljalaskmist ette valmistatud uue DBMS-i haru esimene stabiilne väljalase MariaDB 10.4, mille raames arendatakse MySQL-i haru, mis säilitab tagasiühilduvuse ja erinev täiendavate salvestusmootorite ja täiustatud võimaluste integreerimine. Uue esinduse toetamine kestab 5 aastat, kuni 2025. aasta juunini.

MariaDB arendust juhib sõltumatu MariaDB sihtasutus, järgides täiesti avatud ja läbipaistvat arendusprotsessi, mis on sõltumatu üksikutest müüjatest. MariaDB-d tarnitakse MySQL-i asemel paljudes Linuxi distributsioonides (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) ja seda on rakendatud sellistes suurtes projektides nagu Wikipedia, Google Cloud SQL и Nimbuzz.

Võti täiustused MariaDB 10.5:

  • Lisatud salvestusmootor S3, mis võimaldab hostida MariaDB tabeleid Amazon S3-s või mõnes muus avalikus või privaatses pilvesalvestuses, mis toetab S3 API-d. Toetatakse nii tavaliste kui ka jaotatud tabelite paigutamist S3-sse. Kui jaotatud tabelid paigutatakse pilve, saab neid otse kasutada, sealhulgas teisest serverist, millel on juurdepääs S3 salvestusruumile.
  • Lisatud salvestusmootor Veerg Pood, mis salvestab veergudega seotud andmeid ja kasutab massiliselt paralleelselt hajutatud arhitektuur. Mootor põhineb MySQL-i salvestusruumi arendustel InfiniDB ja on mõeldud suurte andmemahtude analüütiliste päringute töötlemise ja täitmise korraldamiseks (Andmeladu).
    ColumnStore salvestab andmeid mitte ridade, vaid veergude kaupa, mis võimaldab optimeerida veergude kaupa rühmitamist suurest andmebaasist, sealhulgas petabaitide kaupa andmeid. Toetatakse lineaarset skaleerimist, tihendatud andmesalvestust, vertikaalset ja horisontaalset partitsiooni ning konkureerivate päringute tõhusat täitmist.

  • Kõik käivitatavad failid, mis algavad sõnaga "mysql", on ümber nimetatud sõnaga "mariadb". Vanad nimed on talletatud sümboolsete linkidena.
  • Lisatud uus andmetüüp INET6 IPv6 aadresside salvestamiseks.
  • Tööd on tehtud õiguste eraldamiseks väiksemateks komponentideks. Üldise SUPER-õiguse asemel pakutakse valikulisi õigusi "BINLOG ADMIN",
    "BINLOGI REPLAY"
    "ÜHENDUSE ADMIN"
    "Liidadministraator"
    "READ_ONLY ADMIN",
    "REPLICATION MASTER ADMIN"
    "REPLICATION SLAVE ADMIN" ja
    "SET KASUTAJA".

  • Privileeg "REPLICATION CLIENT" on ümber nimetatud "BINLOGI MONITORiks" ja avaldis "SHOW MASTER STATUS" nimeks "SHOW BINLOG STATUS". Ümbernimetamine selgitab käitumist ega ole seotud poliitilise korrektsusega, projekt ei loobu terminitest master/slave ning lisati isegi uued privileegid “MASTER ADMIN” ja “SLAVE ADMIN”. Samal ajal on SQL-i avaldisele lisatud uus võti “REPLICA”, mis on “SLAVE” sünonüüm.
  • Mõne avaldise puhul on nende täitmiseks vajalikke õigusi muudetud. "SHOW BINLOG EVENTS" nõuab nüüd "REPLICATION SLAVE" asemel "BINLOG MONITOR" õigusi, "SHOW SLAVE HOSTS" nõuab "REPLICATION MASTER ADMIN" õigusi "REPLICATION SLAVE" asemel, "SHOW SLAVE STATUS" nõuab "REPLICATION SLAVE ADMIN" või "SUPER" asemel "REPLICATION CLIENT", "SHOW RELAYLOG EVENTS" nõuab "REPLICATION SLAVE ADMIN" õigusi "REPLICATION SLAVE" asemel.
  • Lisatud kujundused "SISSE...TAGASTAMINE"Ja"VAHETA...TAGASTAMINE", tagastades vormil sisestatud/asendatud kirjete loendi, nagu oleks väärtused tagastatud SELECT-avaldise abil (sarnaselt "DELETE ... TAGASTAMINE").

    INSERT INTO t2 VALUES (1,'koer'),(2,'lõvi'),(3,'tiiger'),(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 |
    +——+———+———+———-+

  • Lisatud väljendid "VÄLJA KÕIK"Ja"LÕISTA KÕIK» tulemuse välistamiseks/täiendamiseks kindla väärtuste komplektiga.
  • Nüüd on võimalik määrata kommentaare plokkides “CREATE DATABASE” ja “ALTER DATABASE”.
  • Lisatud konstruktsioonid indeksite ja veergude ümbernimetamiseks "ALTER TABLE ... RENAME INDEX / KEY"Ja"MUUDA TABELIT ... NIMETA VEERG ÜMBER"
  • Toimingutes “ALTER TABLE” ja “RENAME TABLE” on lisatud tingimuse “IF EXISTS” tugi, et teha toiming ainult siis, kui tabel on olemas;
  • Indekside puhul jaotises „CREATE TABLE” on atribuut „NÄHTAV"
  • Rekursiivsete silmuste tuvastamiseks on lisatud avaldis "CYCLE". CTE.
  • Funktsioonid lisatud JSON_ARRAYAGG и JSON_OBJECTAGG massiivi või JSON-objekti tagastamiseks määratud veeru väärtustega.
  • Lõimekogumi (thread_pool) jaoks on lisatud teenuseteabe tabelid (THREAD_POOL_GROUPS, THREAD_POOL_QUEUES, THREAD_POOL_STATS ja THREAD_POOL_WAITS).
  • Avaldist ANALÜÜSI laiendatakse, et näidata aega, mis kulub ploki WHERE kontrollimisele ja abitoimingute sooritamisele.
  • Vahemiku töötlemise optimeerija võtab arvesse "IS NOT NULL" omadusi
  • VARCHAR, CHAR ja BLOB tüüpidega sortimisel kasutatavate ajutiste failide suurust on oluliselt vähendatud.
  • В kahendlogi, mida kasutatakse replikatsiooni korraldamiseks, on lisatud uued metaandmete väljad, sealhulgas esmane võti, veeru nimi, märgistik ja geomeetria tüüp. Utiliit mariadb-binlog ning käsud "SHOW BINLOG EVENTS" ja "SHOW RELAYLOG EVENTS" pakuvad replikatsioonilippude kuvamist.
  • Ehitus KUKKATA LAUD nüüd on see ohutu eemaldab tabelid, mis jäävad salvestusmootorisse ka siis, kui puuduvad ".frm" või ".par" failid.
  • Rakendas AMD32, ARMv64 ja POWER 8 protsessorite jaoks funktsiooni crc8() riistvarakiirendatud versiooni.
  • Muutis mõningaid vaikeseadeid. innodb_encryption_threads on suurendatud 255-ni ja max_sort_length on suurendatud 4-lt 8-le.
  • Esitatakse arvukalt InnoDB mootori jõudluse optimeerimisi.
  • Täielik tugi on lisatud Galera sünkroonsele mitme peamise replikatsioonimehhanismile GTID (Global Transaction ID), tehinguidentifikaatorid, mis on ühised kõikidele klastri sõlmedele.
  • Tehtud on üleminek raamatukogu uude filiaali PCRE2 (Perliga ühilduvad regulaaravaldised), klassikalise PCRE 8.x-seeria asemel.
  • Pythoni ja C programmide kaudu MariaDB ja MySQL DBMS-iga ühenduse loomiseks on pakutud rakmete uusi versioone: MariaDB Connector/Python 1.0.0 и MariaDB Connector/C 3.1.9. Pythoni sidumine vastab Python DB API 2.0-le, on kirjutatud C-keeles ja kasutab serveriga ühenduse loomiseks teeki Connector/C.

Allikas: opennet.ru

Lisa kommentaar