Megjelent az új LTS ág a MariaDB 12.3 adatbázis-kezelő rendszerből.

Megérkezett a MariaDB 12.3.2 adatbázis-kezelő kiadása, amely az első stabil kiadás a 12.3-as ágon. A MariaDB 12.3 ága a hosszú távú támogatású kiadások közé tartozik, és 2029 júniusáig lesz támogatva. Ezzel párhuzamosan elérhető a 13.0.1 kiadás is, amely kiadás-jelölt státuszú.

A MariaDB projekt a MySQL-ból való ágazását fejleszti, amely megőrzi a visszafelé kompatibilitást és kiegészítő tárolómotorok integrálásával valamint kibővített lehetőségekkel különbözik. A MariaDB fejlesztését a független MariaDB Foundation felügyeli, nyílt és átlátható fejlesztési folyamat szerint, függetlenül az egyes gyártóktól. A MariaDB számos Linux disztribúcióban (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) a MySQL helyett kerül forgalomba, és olyan nagy projektekben van bevezetve, mint a Wikipedia, a Google Cloud SQL és a Nimbuzz.

A MariaDB 12.3-as ágban a korábbi 11.8-as LTS kiadáshoz képest bekövetkezett változások közül:

  • Teljesen átdolgozták a bináris napló (binlog) megvalósítását, a fő összetevőit pedig az InnoDB motorba helyezték át. Ez a lépés lehetővé tette a régi szinkronizálási logika elhagyását, a replikálás felgyorsítását, és a kapcsolódó műveletek teljesítményének növelését az adatok írásával foglalkozó műveletek során. A magas terhelésű rendszerek tesztelése során a teljesítménynövekedés akár 4-szeres is lehetett a nagy számú írási műveletek esetén. A bekapcsolásához a „binlog_storage_engine=innodb” beállítást ajánlják.
  • A vektorkeresés sebessége 30-50%-kal nőtt az új VECTOR típus használatával, amelyet gépi tanulási rendszerekben alkalmaznak. A gyorsulást a vektorok közötti hasonlóság keresésének optimalizálása és egy új technika, a beágyazott vektoros reprezentációk (matryoshka embedding) alapú extrapolálás révén érik el.
  • Lehetővé vált az Oracle adatbázis-kezelőből való egyszerű migráció. Az Oracle adatbázis-kezelőhöz való kompatibilitás érdekében implementálták a TO_NUMBER (karakterlánc számra konvertálása), TO_DATE (karakterlánc dátummá konvertálása) és TRUNC (dátum levágása, például óráig, napig, hónapig, évig) funkciókat, valamint támogatták az asszociatív tömböket (INDEX BY) és a külső összekapcsolások (outer join) meghatározásához szükséges „( + )” szintaxist.
  • A MySQL-lal való kompatibilitás érdekében hozzáadták a caching_sha2_password hitelesítési plugint, amely a SHA2 algoritmust alkalmazza a hash-eléshez a SHA1 helyett, és megfelel a MySQL 9 azonos nevű pluginjának.
  • Új XMLTYPE típust vezettek be, amely lehetővé teszi az XML formátumú adatok tárolását.
  • Lehetővé vált paraméterezett lekérdezésekkel (prepared statement) használt kurzorok használata.
  • Bevezették a „SET PATH” kifejezést, amely lehetővé teszi a tárolási séma komponenseinek keresési sorrendjének megadását, ha azokat a séma neve nélkül hívják meg.
  • A „IS JSON” művelet támogatása valósult meg, amely lehetővé teszi a JSON kifejezések típusának ellenőrzését, a SQL:2023 szabvány szerint.
  • A «PARTITION BY KEY» kifejezésben megvalósult a MYSQL51, MYSQL55, BASE31, CRC32C, XXH32 és XXH3 hash algoritmusok támogatása.
  • Az Aria tárolómotorban megvalósították a szegmensek szerinti kulcskészlet gyorsítótárazását, amelyben a kulcsokat csoportokba osztják, ezeket külön-külön gyorsítótárazott szegmensekben tárolják. Az új gyorsítótár lehetővé tette a párhuzamos lekérdezés-végrehajtás teljesítményének növelését, különböző felhasználók által. A szegmensek számát az aria_pagecache_segments változó határozza meg, amely 1 (alapértelmezett) és 128 között változhat.
  • Lehetővé tették a funkcionális indexek (functional index) használatát a GROUP/ORDER BY műveletek teljesítményének növelése érdekében.
  • Megvalósították a «CREATE GLOBAL TEMPORARY TABLE» kifejezés támogatását globális ideiglenes táblák létrehozásához. Az ilyen ideiglenes táblák a munkamenet befejezése után törlésre kerülnek, és minden felhasználó számára láthatóak, de az adatok egyediek minden felhasználóra nézve.
  • Támogatás került hozzáadásra SSL-kulcsok, amelyek jelszóval védettek. Az SSL tanúsítványok feloldásához szükséges jelszó megadható az ssl_passphrase változón keresztül, vagy manuálisan a program indításakor. a szerver.
  • Hozzáadták a «SET SESSION AUTHORIZATION» kifejezést, amely lehetővé teszi egy másik felhasználó alatti művelet végrehajtását a megfelelő jogosultságok kiosztásakor (a kifejezés analógként értelmezhető a SUDO-val az adatbázis-kezelők esetében).
  • A file_key_management.so pluginbe beépítették a SHA-2 hash-ek támogatását.
  • Hozzáadták a SYS_REFCURSOR előre definiált típusú gyenge kurzorváltozók (weak cursor variable) támogatását, amelyek lehetővé teszik a kurzor visszaadását tárolt eljárásokból (OUT paraméterben) vagy funkciókból (RETURN kifejezésben). A maximálisan egyszerre megnyitható kurzorok számának korlátozására bevezették a «max_open_cursors» rendszerváltozót.
  • A TO_CHAR típushoz hozzáadták az FM (Fill Mode) formátum támogatását az extra kitöltés elkerülésére. Például, a lekérdezés
    «SELECT CONCAT(‘/’, TO_CHAR(‘2020-01-06 10:11:12’, ‘FMDAY’), ‘/’);» megtéríti a «/Monday/» értéket a «/Monday /» helyett.
  • A mariadb-check segédprogramba és a CHECK TABLE kifejezésbe beépítették a SEQUENCE motor tábláinak támogatását.
  • Az optimalizálóhoz hozzáadták a síelési tervekre hatással levő lehetőségeket (hint): 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 és [NO_]MERGE. A lehetőségek a MySQL-kompatibilis formátumban vannak beillesztve a lekérdezésbe, például:

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

  • Jelentősen javult a rendezetlen «LEFT JOIN» kifejezések és a rendezett beolvasás teljesítménye a «PARTITION BY RANGE» kifejezés használatakor.
  • Az optimalizáló nyomozási eredményeiben a táblák és nézetek definícióinak megjelenítése biztosított.
    táblák és nézetek.
  • A táblák közötti egyesítési műveletek (JOIN) során megvalósult egy optimalizáció, amely figyelembe veszi a sorok egyediségét a "GROUP BY" kifejezést használó alsó lekérdezésekben, a kimeneti sorok számának (out_rows) pontosabb előrejelzése és az indexek helyes alkalmazása érdekében.
  • Javították a Metadata Lock (MDL) zárolásaik skálázhatóságát.
  • Új GIS (Geographic Information System) funkciók támogatása került bevezetésre:
    ST_Validate, MBRCoveredBy, ST_Simplif, ST_GeoHash, ST_LatFromGeoHash, ST_LongFromGeoHash, ST_PointFromGeoHash, ST_IsValid, ST_Collect.
  • Támogatás került hozzáadásra az olyan eseményekre vonatkozó trigger-ekhez, amelyek több eseményre is reagálnak. A CREATE TRIGGER kifejezésben most már meg lehet határozni a rá vonatkozó eseményeket az „{ event [ OR … ] }” szintaxissal.
  • A naplózó pluginhez hozzáadták a naplóírási műveletek pufferelésének támogatását. A puffer méretét a server_audit_file_buffer_size változó határozza meg.
    Megvalósítva lett a hálózati portok bejövő kapcsolatokra vonatkozó információinak rögzítése az audit naplóban (korábban csak a gazda szerepelt).
  • A mariadb eszközhöz hozzáadva a „--script-dir” opció, amely lehetővé teszi egy alternatív könyvtár megadását a SOURCE paranccsal futtatható szkriptek keresésére.
  • Engedélyezték a párhuzamos adatmásolást Galera klaszterek között aszinkron replikációs módban.
  • A mariadb-dump eszközhöz hozzáadták a minták (például „database_*”) megadásának lehetőségét az „-L” (—wildcards) opció használatával.
  • Eltávolították a külső kulcsok azonosítóinak (foreign key) egyediségére vonatkozó követelményt az egész adatbázis kontextusában (elég az, ha a táblaszinten egyediek).
  • Eltávolították a JSON-nal kapcsolatos funkciók mélységszerkezeteinek beágyazási szintjére vonatkozó korlátozásokat (eltávolították a JSON_DEPTH_LIMIT határt, amely korábban 32 értéket fogadott el).
  • A PARAMETERS táblázatban a INFORMATION_SCHEMA sémában bekerült a PARAMETER_DEFAULT oszlop, amely a tárolt eljárások paramétereinek alapértelmezett értékeit tartalmazza.
  • Az INFORMATION_SCHEMA sémában bevezetésre került a TRIGGERED_UPDATE_COLUMNS táblázat, amely a trigger végrehajtásakor módosított oszlopokat mutatja.
  • Eltávolítva a big_tables, large_page_size és storage_engine változók, amelyek korábban elavultnak lettek nyilvánítva.

Forrás: opennet.ru

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster