Bola publikovaná nová LTS vetva MariaDB 12.3 DBMS

Bola vydaná verzia MariaDB 12.3.2, ktorá je prvým stabilným vydaním vetvy 12.3. MariaDB 12.3 je označená ako vydanie s dlhodobou podporou a bude podporovaná do júna 2029. K dispozícii je aj MariaDB 13.0.1, kandidát na vydanie.

Projekt MariaDB vyvíja fork MySQL, ktorý zachováva spätnú kompatibilitu a ponúka integráciu ďalších úložných systémov a pokročilých funkcií. Vývoj MariaDB dohliada nezávislá nadácia MariaDB Foundation v rámci otvoreného a transparentného vývojového procesu nezávislého od jednotlivých dodávateľov. MariaDB sa v mnohých distribúciách dodáva ako náhrada za MySQL. Linux (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch) Linux, Debian) a bol implementovaný v takých veľkých projektoch ako Wikipédia, Google Cloud SQL a Nimbuzz.

Zmeny vo vetve MariaDB 12.3 v porovnaní s predchádzajúcou verziou LTS MariaDB 11.8 zahŕňajú:

  • Implementácia binárneho protokolu (binlog) bola kompletne prepracovaná a jej základné komponenty boli migrované do enginu InnoDB. Táto migrácia eliminovala staršiu logiku synchronizácie, zrýchlila replikáciu a zlepšila výkon operácií zápisu. Testovanie novej implementácie na systémoch s vysokou záťažou ukázalo až 4-násobné zvýšenie výkonu pri veľkom počte operácií zápisu. Na povolenie sa odporúča nastavenie „binlog_storage_engine=innodb“.
  • Rýchlosť vyhľadávania vektorov pomocou typu VECTOR, používaného v systémoch strojového učenia, sa zvýšila o 30 – 50 %. Toto zrýchlenie sa dosiahlo optimalizáciou výpočtov pre vyhľadávanie podobností medzi vektormi vo viacrozmerných priestoroch a implementáciou novej extrapolačnej techniky založenej na vnorených vektorových reprezentáciách (vnorenie matryoshky).
  • Boli pridané funkcie na zjednodušenie migrácie z Oracle DBMS. V režime kompatibility s Oracle DBMS sú teraz podporované funkcie TO_NUMBER (konverzia reťazca na číslo), TO_DATE (konverzia reťazca na dátum) a TRUNC (skracovanie dátumu, napríklad na hodinu, deň, mesiac alebo rok). Pridaná je aj podpora pre asociatívne polia (INDEX BY) a syntax „(+)“ na definovanie vonkajších spojení.
  • Pre zlepšenie kompatibility s MySQL bol pridaný overovací plugin caching_sha2_password. Na hašovanie používa algoritmus SHA2 namiesto SHA1 a je kompatibilný s pluginom s rovnakým názvom z MySQL 9.
  • Pridaný nový typ XMLTYPE na ukladanie údajov vo formáte XML.
  • Bola implementovaná možnosť použitia kurzorov s parametrizovanými dotazmi (pripravenými príkazmi).
  • Pridaný príkaz „SET PATH“ na určenie poradia vyhľadávania komponentov schémy úložiska pri prístupe k nim bez zadania názvu schémy.
  • Implementovaná podpora pre operáciu „IS JSON“ na kontrolu typu výrazu JSON definovaného v štandarde SQL:2023.
  • Výraz PARTITION BY KEY teraz podporuje hašovacie algoritmy MYSQL51, MYSQL55, BASE31, CRC32C, XXH32 a XXH3.
  • Úložný engine Aria implementuje segmentovanú vyrovnávaciu pamäť kľúčov, ktorá rozdeľuje kľúče do skupín uložených v samostatných segmentoch vyrovnávacej pamäte. Táto nová vyrovnávacia pamäť zlepšuje výkon paralelného vykonávania dotazov rôznymi používateľmi. Počet segmentov sa určuje pomocou premennej aria_pagecache_segments, ktorá sa môže pohybovať od 1 (predvolené) do 128.
  • Pridaná možnosť používať funkčné indexy na zlepšenie výkonu operácií GROUP/ORDER BY.
  • Bola implementovaná podpora pre príkaz „CREATE GLOBAL TEMPORARY TABLE“ na vytváranie globálnych dočasných tabuliek. Tieto dočasné tabuľky sa po ukončení relácie odstránia a sú viditeľné pre všetkých používateľov, ale obsahujú údaje špecifické pre každého používateľa.
  • Pridaná podpora SSL- kľúče chránené heslom. Heslo na odomknutie SSL certifikátov je možné nastaviť pomocou premennej ssl_passphrase alebo manuálne pri spustení. server.
  • Pridaný výraz „SET SESSION AUTHORIZATION“ na vykonanie akcie pod iným používateľom pri nastavovaní príslušných privilégií (výraz možno považovať za analógiu „sudo“ pre DBMS).
  • Do pluginu file_key_management.so bola pridaná podpora pre hash SHA-2.
  • Pridaná podpora pre slabé kurzorové premenné preddefinovaného typu SYS_REFCURSOR, ktorá umožňuje vrátenie kurzora z uložených procedúr (v parametri OUT) alebo z funkcií (v príkaze RETURN). Bola pridaná systémová premenná „max_open_cursors“ na obmedzenie maximálneho počtu súčasne otvorených kurzorov.
  • Typ TO_CHAR teraz podporuje formát FM (režim vypĺňania), aby sa predišlo dodatočnému dopĺňaniu. Napríklad dotaz
    „SELECT CONCAT('/', TO_CHAR('2020-01-06 10:11:12', 'FMDAY'), '/');“ vráti „/Monday/“ namiesto „/Monday /“.
  • Utilita mariadb-check a výraz CHECK TABLE boli aktualizované, aby podporovali tabuľky z enginu SEQUENCE.
  • Optimalizátor teraz podporuje nasledujúce možnosti nápovedy, ktoré ovplyvňujú zostavenie optimalizačného plánu: QB_NAME, NO_RANGE_OPTIMIZATION, NO_ICP, MRR, NO_MRR, BKA, NO_BKA, BNL, NO_BNL, SEMIJOIN, SUBQUERY, JOIN_FIXED_ORDER, JOIN_ORDER, JOIN_PREFIX, JOIN_SUFFIX, MAX_EXECUTION_TIME, [NO_]JOIN_INDEX, [NO_]GROUP_INDEX, [NO_]ORDER_INDEX, [NO_]INDEX, [NO_]SPLIT_MATERIALIZED, NO_ROWID_FILTER, INDEX_MERGE/NO_INDEX_MERGE, [NO_]DERIVED_CONDITION_PUSHDOWN a [NO_]MERGE. Možnosti sa do dotazu dosadzujú vo formáte kompatibilnom s MySQL, napríklad:

    SELECT /*+ BKA(t1) NO_BKA(t2) */ * FROM t1 INNER JOIN t2 WHERE …;
    SELECT /*+ MAX_EXECUTION_TIME(1000) */ * FROM t1 INNER JOIN t2 WHERE …;

  • Vylepšený výkon neusporiadaných výrazov LEFT JOIN a usporiadaných skenovaní pri použití výrazu PARTITION BY RANGE.
  • Výsledky sledovania optimalizátora teraz zobrazujú definície
    tabuľky a pohľady.
  • Pri vykonávaní operácií zlúčenia tabuliek (JOIN) bola implementovaná optimalizácia, ktorá zohľadňuje jedinečnosť riadkov v poddotazoch s výrazom „GROUP BY“ pre presnejšiu predikciu počtu výsledných riadkov (out_rows) a správne použitie indexov.
  • Vylepšená škálovateľnosť zámkov MDL (Metadata Lock).
  • Pridaná podpora pre nové funkcie GIS (geografický informačný systém):
    ST_Validate, MBRCoveredBy, ST_Simplif, ST_GeoHash, ST_LatFromGeoHash, ST_LongFromGeoHash, ST_PointFromGeoHash, ST_IsValid, ST_Collect.
  • Pridaná podpora pre spúšťače, ktoré sa spúšťajú pri viacerých udalostiach. Príkaz CREATE TRIGGER teraz dokáže zobraziť zoznam udalostí, ktoré sa mu zhodujú, pomocou syntaxe „{ udalosť [ ALEBO … ] }“.
  • Plugin pre protokolovanie auditu teraz podporuje ukladanie zápisov protokolov do vyrovnávacej pamäte. Veľkosť vyrovnávacej pamäte sa nastavuje pomocou premennej server_audit_file_buffer_size.
    Implementované ukladanie informácií o sieťových portoch pre prichádzajúce pripojenia do protokolu auditu (predtým sa zobrazoval iba hostiteľ).
  • Utilita mariadb má možnosť „--script-dir“ na určenie alternatívneho vyhľadávacieho adresára pre skripty spúšťané príkazom SOURCE.
  • Umožňuje použitie replikácie v paralelnom režime pri asynchrónnej replikácii údajov medzi dvoma klastrami Galera.
  • Nástroj mariadb-dump teraz umožňuje zadať zástupné znaky (napr. „database_*“) pomocou voľby „-L“ (--wildcards).
  • Požiadavka na jedinečnosť identifikátorov cudzích kľúčov v kontexte celej databázy bola odstránená (postačuje jedinečnosť na úrovni tabuľky).
  • Obmedzenia úrovne vnorenia štruktúr vo funkciách pre prácu s JSON boli odstránené (limit JSON_DEPTH_LIMIT, ktorý mal predtým hodnotu 32, bol odstránený).
  • Do schémy INFORMATION_SCHEMA (INFORMATION_SCHEMA.TRIGGERED_UPDATE_COLUMNS) bola pridaná tabuľka TRIGGERED_UPDATE_COLUMNS na zobrazenie stĺpcov, ktoré sa zmenia pri spustení spúšťača.
  • Tabuľka PARAMETERS v schéme INFORMATION_SCHEMA implementuje stĺpec PARAMETER_DEFAULT, ktorý obsahuje predvolené hodnoty parametrov uložených procedúr.
  • Odstránené predtým zastarané premenné big_tables, large_page_size a storage_engine.

Zdroj: opennet.ru

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