Stabilno izdanje MariaDB DBMS 10.5

Nakon godinu dana razvoja i četiri predizdanja pripremljeno prvo stabilno izdanje nove grane DBMS-a MariaDB 10.4, unutar kojega se razvija grana MySQL-a koja održava kompatibilnost s prethodnim verzijama i drugačiji integracija dodatnih mehanizama za pohranu podataka i naprednih mogućnosti. Podrška za novu poslovnicu bit će osigurana 5 godina, do lipnja 2025.

Razvoj MariaDB-a nadzire neovisna MariaDB Foundation, slijedeći potpuno otvoren i transparentan proces razvoja koji je neovisan o pojedinačnim dobavljačima. MariaDB se isporučuje umjesto MySQL-a u mnogim distribucijama Linuxa (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) i implementiran je u velike projekte kao što su Wikipedija, Google Cloud SQL и Nimbuzz.

Ključ poboljšanja MariaDB 10.5:

  • Dodan mehanizam za pohranu S3, koji vam omogućuje hostiranje MariaDB tablica na Amazonu S3 ili bilo kojoj drugoj javnoj ili privatnoj pohrani u oblaku koja podržava S3 API. Podržano je postavljanje običnih i particioniranih tablica u S3. Kada se particionirane tablice postave u oblak, mogu se izravno koristiti, uključujući s drugog poslužitelja koji ima pristup S3 pohrani.
  • Dodan mehanizam za pohranu ColumnStore, koji pohranjuje podatke vezane za stupce i koristi masivno paralelan distribuirana arhitektura. Motor se temelji na razvoju MySQL pohrane InfiniDB a namijenjen je organiziranju obrade i izvršavanju analitičkih upita nad velikim količinama podataka (Data Warehouse).
    ColumnStore ne pohranjuje podatke redak po redak, već po stupcima, što vam omogućuje optimiziranje performansi grupiranja po stupcima iz velike baze podataka, uključujući petabajte podataka. Podržano je linearno skaliranje, komprimirana pohrana podataka, vertikalno i horizontalno particioniranje i učinkovito izvršavanje konkurentskih zahtjeva.

  • Sve izvršne datoteke koje počinju riječju "mysql" preimenovane su u upotrebu riječi "mariadb". Stari nazivi pohranjeni su u obliku simboličkih veza.
  • Dodana nova vrsta podataka INET6 za pohranu IPv6 adresa.
  • Radilo se na razdvajanju privilegija na manje komponente. Umjesto opće SUPER privilegije, predlaže se niz selektivnih privilegija “BINLOG ADMIN”,
    "BINLOG PONOVI"
    "ADMINISTRAT VEZE"
    "FEDERATIRANI ADMINIST"
    "ADMINISTAR SAMO ZA ČITANJE",
    "GLAVNI ADMINISTRATOR REPLIKACIJE"
    "REPLICATION SLAVE ADMIN" i
    "POSTAVI KORISNIKA".

  • Privilegija "REPLIKACIJSKI KLIJENT" preimenovana je u "BINLOG MONITOR", a izraz "PRIKAŽI GLAVNI STATUS" u "PRIKAŽI BINLOG STATUS". Preimenovanje pojašnjava ponašanje i nije povezano s političkom korektnošću, projekt ne napušta pojmove master/slave i čak je dodao nove privilegije “MASTER ADMIN” i “SLAVE ADMIN”. Istovremeno je u SQL izraz dodan novi ključ “REPLICA” koji je sinonim za “SLAVE”.
  • Za neke izraze promijenjene su privilegije potrebne za njihovo izvršenje. "SHOW BINLOG EVENTS" sada zahtijeva povlastice "BINLOG MONITOR" umjesto "REPLICATION SLAVE", "SHOW SLAVE HOSTS" zahtijeva povlastice "REPLICATION MASTER ADMIN" umjesto "REPLICATION SLAVE", "SHOW SLAVE STATUS" zahtijeva "REPLICATION SLAVE ADMIN" ili "SUPER" umjesto "REPLICATION CLIENT", "SHOW RELAYLOG EVENTS" zahtijeva prava "REPLICATION SLAVE ADMIN" umjesto "REPLICATION SLAVE".
  • Dodani dizajni "UMETNI...VRAĆANJE"A"ZAMJENA...VRAĆANJE", vraćajući popis umetnutih/zamijenjenih unosa u obrazac kao da su vrijednosti vraćene korištenjem SELECT izraza (slično "DELETE ... RETURNING").

    INSERT INTO t2 VRIJEDNOSTI (1,'Pas'),(2,'Lav'),(3,'Tigar'),(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 |
    +——+———+———+———-+

  • Dodani izrazi "OSIM SVIH"A"PRESJEČI SVE» za isključivanje/dopunu rezultata određenim skupom vrijednosti.
  • Sada je moguće navesti komentare unutar blokova “CREATE DATABASE” i “ALTER DATABASE”.
  • Dodane konstrukcije za preimenovanje indeksa i stupaca "ALTER TABLE ... RENAME INDEX / KEY"I"ALTER TABLE ... PREIMENOVAJ STUPAC”.
  • U operacijama “ALTER TABLE” i “RENAME TABLE” dodana je podrška za uvjet “IF EXISTS” za izvođenje operacije samo ako tablica postoji;
  • Za indekse u “CREATE TABLE” atribut “VIDLJIVO”.
  • Dodan izraz "CYCLE" za prepoznavanje rekurzivnih petlji CTE.
  • Dodane značajke JSON_ARRAYAGG и JSON_OBJECTAGG za vraćanje niza ili JSON objekta s vrijednostima navedenog stupca.
  • Dodane tablice servisnih informacija (THREAD_POOL_GROUPS, THREAD_POOL_QUEUES, THREAD_POOL_STATS i THREAD_POOL_WAITS) za skup niti (thread_pool).
  • Izraz ANALIZA je proširen kako bi pokazao vrijeme potrošeno na provjeru bloka WHERE i izvođenje pomoćnih operacija.
  • Optimizator obrade raspona uzima u obzir karakteristike "NIJE NULL".
  • Veličina privremenih datoteka koje se koriste pri sortiranju s tipovima VARCHAR, CHAR i BLOB značajno je smanjena.
  • В binarni dnevnik, koji se koristi za organiziranje replikacije, dodana su nova polja metapodataka, uključujući primarni ključ, naziv stupca, skup znakova i vrstu geometrije. Uslužni program mariadb-binlog i naredbe “SHOW BINLOG EVENTS” i “SHOW RELAYLOG EVENTS” omogućuju prikaz oznaka replikacije.
  • dizajn ISPUSTI STOL sada je sigurno uklanja tablice koje ostaju u mehanizmu za pohranu čak i ako ne postoje ".frm" ili ".par" datoteke.
  • Implementirana je hardverski ubrzana verzija funkcije crc32() za procesore AMD64, ARMv8 i POWER 8.
  • Promijenjene su neke zadane postavke. innodb_encryption_threads je povećan na 255, a max_sort_length je povećan sa 4 na 8.
  • Predstavljene su brojne optimizacije performansi za InnoDB mehanizam.
  • Potpuna podrška dodana je Galera sinkronom multi-master replikacijskom mehanizmu GTID (Global Transaction ID), identifikatori transakcija zajednički svim čvorovima klastera.
  • Izvršen je prijelaz u novi ogranak knjižnice PCRE2 (Perl Compatible Regular Expressions), umjesto klasične serije PCRE 8.x.
  • Predložene su nove verzije pojaseva za povezivanje na MariaDB i MySQL DBMS iz programa u Pythonu i C-u: MariaDB konektor/Python 1.0.0 и MariaDB konektor/C 3.1.9. Python vezanje u skladu je s Python DB API 2.0, napisano je u C-u i koristi biblioteku Connector/C za povezivanje s poslužiteljem.

Izvor: opennet.ru

Dodajte komentar