Vuoden kehitystyön ja neljän ennakkojulkaisun jälkeen valmis ensimmäinen vakaa julkaisu uudesta DBMS-haarasta MariaDB 10.4, jossa kehitetään MySQL:n haaraa, joka ylläpitää taaksepäin yhteensopivuutta ja eri lisätallennusmoottoreiden ja kehittyneiden ominaisuuksien integrointi. Uuden sivukonttorin tukea myönnetään 5 vuoden ajan, kesäkuuhun 2025 saakka.
MariaDB:n kehitystä valvoo riippumaton MariaDB Foundation, joka noudattaa täysin avointa ja läpinäkyvää kehitysprosessia, joka on riippumaton yksittäisistä toimittajista. MariaDB toimitetaan MySQL:n sijasta monissa Linux-jakeluissa (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) ja se on otettu käyttöön sellaisissa suurissa projekteissa kuin wikipedia, Google Cloud SQL и Nimbuzz.
Lisätty tallennusmoottori S3, jonka avulla voit isännöidä MariaDB-taulukoita Amazon S3:ssa tai missä tahansa muussa julkisessa tai yksityisessä pilvitallennustilassa, joka tukee S3 API:ta. Sekä tavallisten että osioitujen taulukoiden sijoittamista S3:een tuetaan. Kun ositetut taulukot sijoitetaan pilveen, niitä voidaan käyttää suoraan, myös toiselta palvelimelta, jolla on pääsy S3-tallennustilaan.
Lisätty tallennusmoottori ColumnStore, joka tallentaa sarakkeisiin ja käyttötarkoituksiin sidotut tiedot massiivisesti rinnakkain hajautettua arkkitehtuuria. Moottori perustuu MySQL-tallennustilan kehitykseen InfiniDB ja on tarkoitettu suurten tietomäärien analyyttisten kyselyjen käsittelyn ja suorittamisen järjestämiseen (Data Warehouse).
ColumnStore ei tallenna tietoja rivi riviltä, vaan sarakkeiden mukaan, mikä mahdollistaa ryhmittelyn suorituskyvyn sarakkeiden mukaan suuresta tietokannasta, mukaan lukien petabyyttiä tietoa. Lineaarista skaalausta, pakattua tiedon tallennusta, pysty- ja vaakaosiointia sekä kilpailevien pyyntöjen tehokasta suorittamista tuetaan.
Kaikki sanalla "mysql" alkavat suoritettavat tiedostot on nimetty uudelleen käyttämään sanaa "mariadb". Vanhat nimet on tallennettu symbolisten linkkien muodossa.
Lisätty uusi tietotyyppi INET6 IPv6-osoitteiden tallentamiseen.
Etuoikeudet on pyritty erottamaan pienempiin osiin. Yleisen SUPER-oikeuden sijasta ehdotetaan sarja valikoivia oikeuksia "BINLOG ADMIN",
"BINLOGIN REPLAY"
"YHTEISTYÖJÄRJESTELMÄNVALVOJA"
"YHDISTETTY JÄRJESTELMÄNVALVOJA"
"READ_ONLY ADMIN",
"REPLICATION MASTER ADMIN"
"REPLICATION SLAVE ADMIN" ja
"SET USER".
"REPLICATION CLIENT" -oikeus on nimetty uudelleen muotoon "BINLOG MONITOR" ja "SHOW MASTER STATUS" -lauseke muotoon "SHOW BINLOG STATUS". Uudelleennimeäminen selventää käyttäytymistä eikä liity poliittiseen korrektisuuteen, projekti ei hylkää termejä isäntä/orja ja jopa lisäsi uusia oikeuksia "MASTER ADMIN" ja "SLAVE ADMIN". Samaan aikaan SQL-lausekkeeseen on lisätty uusi avain "REPLICA", joka on synonyymi sanalle "SLAVE".
Joidenkin lausekkeiden suorittamiseen vaadittavia oikeuksia on muutettu. "NÄYTÄ BINLOGIN TAPAHTUMAT" vaatii nyt "BINLOG MONITOR"-oikeudet "REPLICATION SLAVE":n sijaan, "SHOW SLAVE HOSTS" edellyttää "REPLICATION MASTER ADMIN" -oikeuksia "REPLICATION SLAVE" -orjan sijaan, "SHOW SLAVE STATUS" vaatii "REPLICATION SLAVE ADMIN" tai "SUPER" "REPLICATION CLIENT" sijaan, "SHOW RELAYLOG EVENTS" vaatii "REPLICATION SLAVE -JÄRJESTELMÄNVALVOJA" -oikeudet "REPLICATION SLAVE" sijaan.
Lisätyt mallit "LISÄÄ...PALAUTTAMINEN"Ja"VAIHDA...PALAUTTAMINEN", palauttaa luettelon lisätyistä/korvattuista merkinnöistä muodossa ikään kuin arvot palautettaisiin käyttämällä SELECT-lauseketta (samanlainen kuin "DELETE ... RETURNING").
Lisätty "CYCLE"-lauseke tunnistamaan rekursiiviset silmukat CTE.
Ominaisuudet lisätty JSON_ARRAYAGG и JSON_OBJECTAGG palauttaaksesi taulukon tai JSON-objektin määritetyn sarakkeen arvoilla.
Palvelutietotaulukot (THREAD_POOL_GROUPS, THREAD_POOL_QUEUES, THREAD_POOL_STATS ja THREAD_POOL_WAITS) lisätty säievalikoimaan (thread_pool).
ANALYZE-lauseke laajennetaan näyttämään WHERE-lohkon tarkistamiseen ja aputoimintojen suorittamiseen käytetty aika.
Alueen käsittelyn optimoija ottaa huomioon "IS NOT NULL" -ominaisuudet
VARCHAR-, CHAR- ja BLOB-tyyppien lajittelussa käytettävien tilapäisten tiedostojen kokoa on pienennetty merkittävästi.
В binääriloki, jota käytetään replikoinnin järjestämiseen, uusia metatietokenttiä on lisätty, mukaan lukien ensisijainen avain, sarakkeen nimi, merkistö ja geometriatyyppi. Mariadb-binlog-apuohjelma ja "SHOW BINLOG EVENTS"- ja "SHOW RELAYLOG EVENTS" -komennot näyttävät replikointiliput.
suunnittelu PUDOTA PÖYTÄ nyt se on turvallista poistaa taulukot, jotka jäävät tallennuskoneeseen, vaikka ".frm"- tai ".par"-tiedostoja ei olisikaan.
Otettiin käyttöön laitteistokiihdytetty versio crc32()-funktiosta AMD64-, ARMv8- ja POWER 8 -suorittimille.
Joitakin oletusasetuksia muutettu. innodb_encryption_threads on nostettu arvoon 255 ja max_sort_length on nostettu 4:stä 8:aan.
InnoDB-moottorille esitetään lukuisia suorituskyvyn optimointeja.
Täysi tuki on lisätty Galeran synkroniseen monen pääkoneen replikointimekanismiin GTID (Global Transaction ID), tapahtumatunnisteet, jotka ovat yhteisiä kaikille klusterin solmuille.
Siirtyminen kirjaston uuteen osastoon on tehty PCRE2 (Perl Compatible Regular Expressions) klassisen PCRE 8.x -sarjan sijaan.
Uusia valjaiden versioita on ehdotettu yhteyden muodostamiseksi MariaDB- ja MySQL-tietokantajärjestelmään Python- ja C-ohjelmista: MariaDB Connector/Python 1.0.0 и MariaDB Connector/C 3.1.9. Python-sidos noudattaa Python DB API 2.0:aa, on kirjoitettu C-kielellä ja käyttää Connector/C-kirjastoa yhteyden muodostamiseen palvelimeen.