Stabilno izdanje DBMS-a MariaDB 10.5

Nakon godine dana razvoja i četiri preliminarna izdanja pripremljen prvo stabilno izdanje nove grane DBMS-a MariaDB 10.4, unutar koje se razvija odvojak od MySQL-a, zadržavajući kompatibilnost unatrag i odlikuje se integracijom dodatnih mehanizama skladištenja i proširenim mogućnostima. Podrška za novu granu bit će osigurana 5 godina, do lipnja 2025.

Razvoj MariaDB-a nadzire neovisna organizacija MariaDB Foundation u skladu s potpuno otvorenim i transparentnim procesom razvoja, koji ne ovisi o pojedinim proizvođačima. MariaDB se isporučuje umjesto MySQL-a u mnogim Linux distribucijama (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) i implementirana je u velikim projektima poput Wikipedia, Google Cloud SQL i Nimbuzz.

Ključne poboljšanja MariaDB 10.5:

  • Dodati mehanizam skladištenja S3, koji omogućava smještaj MariaDB tablica na Amazon S3 ili bilo kojem drugom javnom ili privatnom oblaku koji podržava S3 API. Podržava se smještaj u S3 običnih, kao i particioniranih tablica. Kada se smještaju u oblaku, particionirane tablice mogu se direktno koristiti, uključujući s drugog poslužitelja koji ima pristup S3 skladištu.
  • Dodati mehanizam skladištenja ColumnStore, koji pohranjuje podatke vezane uz kolumne i koristi masovno-paralelnu distribuiranu arhitekturu. Mehanizam se temelji na radovima MySQL skladišta InfiniDB i namijenjen je organizaciji obrade i izvršenja analitičkih upita na velikim skupovima podataka (Data Warehouse).
    ColumnStore pohranjuje podatke ne po redovima, već razdvojeno po kolonama, što omogućava optimizaciju izvršavanja grupiranja po kolonama u velikim bazama podataka, uključujući petabajte podataka. Podržava se linearno skaliranje, pohrana podataka u komprimiranom obliku, vertikalno i horizontalno particioniranje, učinkovito izvršavanje konkurentnih upita.
  • Svi izvršni datoteci koji započinju sa riječju „mysql” preimenovani su uz korištenje riječi „mariadb”. Stara imena su sačuvana u obliku simboličkih veza.
  • Dodana je nova vrsta podataka INET6 za pohranu IPv6 adresa.
  • Obavljen je rad na razdvajanju privilegija na sitnije komponente. Umjesto opće privilegije SUPER ponuđena je serija selektivnih privilegija „BINLOG ADMIN,”
    „BINLOG REPLAY,”
    „CONNECTION ADMIN,”
    „FEDERATED ADMIN,”
    „READ_ONLY ADMIN,”
    „REPLICATION MASTER ADMIN,”
    „REPLICATION SLAVE ADMIN” i
    «SET USER».
  • Privilegija «REPLICATION CLIENT» preimenovana je u «BINLOG MONITOR», a izraz «SHOW MASTER STATUS» u «SHOW BINLOG STATUS». Preimenovanje pojašnjava ponašanje i nije povezano s političkom korektnošću, projekt se ne odriče termina master/slave i čak je dodao nove privilegije «MASTER ADMIN» i «SLAVE ADMIN». Pri tome je u SQL izraze dodan novi ključ «REPLICA», koji je sinonim za «SLAVE».
  • Za neka izraze promijenjene su privilegije potrebne za njihovo izvršavanje. «SHOW BINLOG EVENTS» sada zahtijeva prava «BINLOG MONITOR» umjesto «REPLICATION SLAVE», «SHOW SLAVE HOSTS» zahtijeva privilegiju «REPLICATION MASTER ADMIN» umjesto «REPLICATION SLAVE», «SHOW SLAVE STATUS» zahtijeva prava «REPLICATION SLAVE ADMIN» ili «SUPER» umjesto «REPLICATION CLIENT», «SHOW RELAYLOG EVENTS» zahtijeva prava «REPLICATION SLAVE ADMIN» umjesto «REPLICATION SLAVE».
  • Dodane su konstrukcije «INSERT … RETURNING» i «REPLACE … RETURNING«, koje vraćaju popis umetnutih/zamijenjenih redaka u obliku, kao da su vrijednosti vraćene korištenjem izraza SELECT (po analogiji 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 |
    +——+———+———+———-+

  • Dodani su izrazi «EXCEPT ALL» i «INTERSECT ALL» za isključivanje/dodavanje rezultata određenom skupu vrijednosti.
  • Pojavila se mogućnost navođenja komentara unutar blokova «CREATE DATABASE» i «ALTER DATABASE».
  • Dodane su konstrukcije za preimenovanje indeksa i stupaca «ALTER TABLE … RENAME INDEX / KEY» i «ALTER TABLE … RENAME COLUMN«.
  • U operaciji «ALTER TABLE» i «RENAME TABLE» dodana je podrška uvjetu «IF EXISTS» za izvršavanje operacije samo u slučaju postojanja tablice;
  • Za indekse u «CREATE TABLE» realiziran je atribut «VISIBLE«.
  • Dodano je izraz «CYCLE» za otkrivanje rekurzivnih ciklusa CTE.
  • Dodane su funkcije JSON_ARRAYAGG i JSON_OBJECTAGG za vraćanje niza ili objekta JSON s vrijednostima određenog stupca.
  • Dodane su servisne informacijske tablice (THREAD_POOL_GROUPS, THREAD_POOL_QUEUES, THREAD_POOL_STATS i THREAD_POOL_WAITS) za skupine niti (thread_pool).
  • Izraz ANALYZE proširen je prikazom vremena koje se troši na provjeru bloka WHERE i izvršavanje pomoćnih operacija.
  • U optimizatoru obrade raspona uzeti su u obzir znakovi «IS NOT NULL»
  • Bitno je smanjen veličina privremenih datoteka koje se koriste prilikom sortiranja s tipovima VARCHAR, CHAR i BLOB.
  • U binarni log, koristeći za organizaciju replikacije, dodana su nova polja s metapodacima, uključujući Primarni Ključ, Ime Stupca, Karakter Set i Geometrijski Tip. U alatu mariadb-binlog i naredbama „SHOW BINLOG EVENTS“ te „SHOW RELAYLOG EVENTS“ omogućeno je prikazivanje zastavica replikacije.
  • Konstrukcija DROP TABLE sada pouzdano uklanja tablice koje ostaju u skladištu podataka, čak i u odsustvu „.frm“ ili „.par“ datoteka.
  • Implementirana je hardverski ubrzana verzija funkcije crc32() za CPU AMD64, ARMv8 i POWER 8.
  • Promijenjene su neke postavke prema zadanim vrijednostima. Parametar innodb_encryption_threads povećan je na 255, a vrijednost max_sort_length povećana je s 4 na 8.
  • Predstavljene su brojne optimizacije performansi InnoDB motor.
  • U mehanizam sinhrone multi-master replikacije Galera dodana je potpuna podrška GTID (Global Transaction ID), jedinstvenih za sve čvorove klastera identifikatora transakcija.
  • Ostvaren je prijelaz na novu granu biblioteke PCRE2 (Perl Compatible Regular Expressions), umjesto klasične serije PCRE 8.x.
  • Predložene su nove verzije biblioteka za povezivanje s DBMS MariaDB i MySQL iz programa na jezicima Python i C: MariaDB Connector/Python 1.0.0 i MariaDB Connector/C 3.1.9. Biblioteka za Python odgovara Python DB API 2.0, napisana je na C-u i koristi za povezivanje s poslužiteljem biblioteku Connector/C.

Izvor: opennet.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster