ËshtĂ« publikuar njĂ« degĂ« e re LTS e DB-sĂ« MariaDB 12.3

ËshtĂ« prezantuar versioni i DB-sĂ« MariaDB 12.3.2, i cili shĂ«nohet si lĂ«shimi i parĂ« stabil i rrethit 12.3. Rremi MariaDB 12.3 i pĂ«rket lĂ«shimeve me mbĂ«shtetje tĂ« gjatĂ« dhe do tĂ« mbĂ«shtetet deri nĂ« qershor 2029. NdĂ«rkohĂ«, Ă«shtĂ« nĂ« dispozicion lĂ«shimi MariaDB 13.0.1, i cili ka statusin e kandidat-lĂ«shimeve.

Projekti MariaDB zhvillon një degë nga MySQL, duke ruajtur përputhshmërinë prapa dhe duke u dalluar nga integrimi i motorëve të ruajtjes shtesë dhe mundësive të zgjeruara. Zhvillimi i MariaDB mb supervisohet nga organizata e pavarur MariaDB Foundation në përputhje me një proces të hapur dhe transparent zhvillimi, pa u mbështetur në prodhues të veçantë. MariaDB ofrohet në vend të MySQL në shumë shpërndarje të Linux (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) dhe është implementuar në projekte të mëdha si Wikipedia, Google Cloud SQL dhe Nimbuzz.

Mes ndryshimeve në rremi MariaDB 12.3 krahasuar me lëshimin e kaluar LTS MariaDB 11.8:

  • Implementimi i logarit binar (binlog) Ă«shtĂ« riformuar plotĂ«sisht, me komponentĂ«t kryesorĂ« tĂ« tij tĂ« transferuar nĂ« motorin InnoDB. Ky transferim ka lejuar heqjen e logjikĂ«s sĂ« vjetĂ«ruar tĂ« sinkronizimit, duke pĂ«rshpejtuar riplikimin dhe pĂ«rmirĂ«suar performancĂ«n e operacioneve tĂ« lidhura me regjistrimin e tĂ« dhĂ«nave. NĂ« testimin e implementimit tĂ« ri nĂ« sisteme me ngarkesĂ« tĂ« lartĂ«, Ă«shtĂ« vĂ«nĂ« re njĂ« rritje e performancĂ«s nĂ« lidhje me numrin e madh tĂ« operacioneve tĂ« regjistrimit deri nĂ« 4 herĂ«. PĂ«r aktivizimin Ă«shtĂ« propozuar konfigurimi "binlog_storage_engine=innodb".
  • ShpejtĂ«sia e kĂ«rkimit vektorial me pĂ«rdorimin e tipit VECTOR, i aplikuar nĂ« sistemet e mĂ«simit makinerik, Ă«shtĂ« rritur me 30-50%. Ky pĂ«rshpejtim arrihet pĂ«rmes optimizimit tĂ« llogaritjeve gjatĂ« kĂ«rkimit tĂ« ngjashmĂ«risĂ« midis vektorĂ«ve nĂ« hapĂ«sira shumĂ« dimensionale dhe realizimit tĂ« njĂ« teknike tĂ« re ekztrapolimi mbi bazĂ«n e pĂ«rfaqĂ«simeve tĂ« brendshme vektoriale (matryoshka embedding).
  • Shtohen mundĂ«sitĂ« pĂ«r tĂ« lehtĂ«suar migrimin nga DBMS Oracle. NĂ« modalitetin e pĂ«rputhshmĂ«risĂ« me DBMS Oracle janĂ« implementuar funksionet TO_NUMBER (konvertimi i vargut nĂ« numĂ«r), TO_DATE (konvertimi i vargut nĂ« datĂ«) dhe TRUNC (prerja e datĂ«s, pĂ«r shembull, deri nĂ« orĂ«, ditĂ«, muaj, vit), si dhe Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r array asociasive (INDEX BY) dhe sintaksĂ«n "( + )" pĂ«r pĂ«rcaktimin e bashkimeve tĂ« jashtme (outer join).
  • PĂ«r tĂ« pĂ«rmirĂ«suar pĂ«rputhshmĂ«rinĂ« me MySQL, Ă«shtĂ« shtuar plugin-i i autentikimit caching_sha2_password, i cili pĂ«rdor algoritmin SHA2 pĂ«r hashing nĂ« vend tĂ« SHA1 dhe Ă«shtĂ« nĂ« pĂ«rputhje me plugin-in e njĂ«jtĂ« nga MySQL 9.
  • ËshtĂ« shtuar njĂ« tip i ri XMLTYPE pĂ«r tĂ« ruajtur tĂ« dhĂ«nat nĂ« formatin XML.
  • ËshtĂ« realizuar mundĂ«sia e pĂ«rdorimit tĂ« kursoreve me pyetje parametrizuese (prepared statement).
  • ËshtĂ« shtuar shprehja "SET PATH" pĂ«r tĂ« pĂ«rcaktuar rendin e kĂ«rkimit tĂ« komponenteve tĂ« skemĂ«s sĂ« ruajtjes kur i aksesojmĂ« ato pa specifikuar emrin e skemĂ«s.
  • ËshtĂ« realizuar mbĂ«shtetje pĂ«r operacionin "IS JSON" pĂ«r tĂ« verifikuar llojin e shprehjes JSON, i caktuar nĂ« standardin SQL:2023.
  • NĂ« shprehjen "PARTITION BY KEY" Ă«shtĂ« realizuar mbĂ«shtetje pĂ«r algoritmet e hash-it MYSQL51, MYSQL55, BASE31, CRC32C, XXH32 dhe XXH3.
  • NĂ« motorin e ruajtjes Aria Ă«shtĂ« realizuar njĂ« cache segmentar i çelĂ«save, ku çelĂ«sat ndahen nĂ« grupe dhe ruhen nĂ« segmente tĂ« veçanta tĂ« cache-it. Cache-i i ri ka lejuar pĂ«rmirĂ«simin e performancĂ«s sĂ« ekzekutimit tĂ« paralel tĂ« kĂ«rkesave nga pĂ«rdorues tĂ« ndryshĂ«m. Numri i segmenteve caktohet nĂ«pĂ«rmjet ndryshoreve aria_pagecache_segments, e cila mund tĂ« marrĂ« vlera nga 1 (default) deri nĂ« 128.
  • Shtuar mundĂ«sia e pĂ«rdorimit tĂ« indekseve tĂ« bazuar nĂ« funksione (functional index) pĂ«r tĂ« rritur performancĂ«n e operacioneve GROUP/ORDER BY.
  • Implementuar mbĂ«shtetje pĂ«r shprehjen «CREATE GLOBAL TEMPORARY TABLE» pĂ«r krijimin e tabelave globale tĂ« pĂ«rkohshme. TĂ« tilla tabela tĂ« pĂ«rkohshme fshihen pas pĂ«rfundimit tĂ« seancĂ«s dhe janĂ« tĂ« dukshme pĂ«r tĂ« gjithĂ« pĂ«rdoruesit, por pĂ«rmbajnĂ« tĂ« dhĂ«na, tĂ« cilat janĂ« individuale pĂ«r çdo pĂ«rdorues.
  • Shtuar mbĂ«shtetje pĂ«r SSL-çelĂ«sa tĂ« mbrojtur me fjalĂ«kalim. FjalĂ«kalimi pĂ«r çelĂ«sat e SSL mund tĂ« caktohet pĂ«rmes ndryshoreve ssl_passphrase ose manualisht gjatĂ« startimit server.
  • Shtuar shprehjen «SET SESSION AUTHORIZATION» pĂ«r tĂ« kryer veprime nĂ«n njĂ« pĂ«rdorues tĂ« ndryshĂ«m duke caktuar privilegje pĂ«rkatĂ«se (shprehja mund tĂ« trajtohet si e barabartĂ« me «sudo» pĂ«r DBMS).
  • NĂ« pluginin file_key_management.so Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r hashes SHA-2.
  • ËshtĂ« shtuar mbĂ«shtetje pĂ«r variablat e dobĂ«t tĂ« kursorit (weak cursor variable) tĂ« tipit tĂ« paracaktuar SYS_REFCURSOR, qĂ« lejojnĂ« kthimin e njĂ« kursori nga procedurat e ruajtura (nĂ« parametrin OUT) ose nga funksionet (nĂ« shprehjen RETURN). PĂ«r tĂ« kufizuar numrin maksimal tĂ« kursoreve tĂ« hapur njĂ«kohĂ«sisht Ă«shtĂ« shtuar variabla sistemike «max_open_cursors».
  • NĂ« tipin TO_CHAR Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r formatin FM (Fill Mode) pĂ«r tĂ« pĂ«rjashtuar mbushjen shtesĂ«. PĂ«r shembull, kĂ«rkesa
    «SELECT CONCAT(‘/’, TO_CHAR(‘2020-01-06 10:11:12’, ‘FMDAY’), ‘/’);» do tĂ« kthejĂ« «/E hĂ«nĂ«/» nĂ« vend tĂ« «/E hĂ«nĂ« /».
  • NĂ« utilitarin mariadb-check dhe shprehjen CHECK TABLE Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r tabelat nga motorin SEQUENCE.
  • NĂ« optimizues Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r opsione (hint), qĂ« ndikojnĂ« nĂ« ndĂ«rtimin e planit tĂ« optimizimeve: 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 dhe [NO_]MERGE. Opsionet vendosen nĂ« kĂ«rkesĂ« nĂ« njĂ« format, kompatibil me MySQL, pĂ«r shembull:

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

  • Performanca e shprehjeve tĂ« paklasifikuara «LEFT JOIN» dhe skanimi i renditur Ă«shtĂ« pĂ«rmirĂ«suar kur pĂ«rdoret shprehja «PARTITION BY RANGE».
  • NĂ« rezultatet e gjurmimit tĂ« optimizuesit Ă«shtĂ« siguruar tregimi i definicioneve
    tabelave dhe pamjeve.
  • GjatĂ« ekzekutimit tĂ« operacioneve tĂ« bashkimit (JOIN) Ă«shtĂ« realizuar njĂ« optimizim qĂ« merr parasysh unikatesĂ«n e rreshtave nĂ« nĂ«nkĂ«rkesat me shprehjen «GROUP BY» pĂ«r njĂ« parashikim mĂ« tĂ« saktĂ« tĂ« numrit tĂ« rreshtave rezultues (out_rows) dhe pĂ«rdorimin e saktĂ« tĂ« indekseve.
  • JanĂ« pĂ«rmirĂ«suar shkallĂ«zueshmĂ«ria e bllokimeve MDL (Metadata Lock).
  • JanĂ« shtuar mbĂ«shtetje pĂ«r funksione tĂ« reja GIS (Sistemi Informativ Gjeografik):
    ST_Validate, MBRCoveredBy, ST_Simplif, ST_GeoHash, ST_LatFromGeoHash, ST_LongFromGeoHash, ST_PointFromGeoHash, ST_IsValid, ST_Collect.
  • JanĂ« shtuar mbĂ«shtetje pĂ«r triggere qĂ« aktivizohen pĂ«r disa ngjarje. NĂ« shprehjen CREATE TRIGGER tani mund tĂ« listohen ngjarjet pĂ«rkatĂ«se duke pĂ«rdorur sintaksĂ«n «{ event [ OR 
 ] }».
  • NĂ« plugin-in pĂ«r mbajtjen e logs-it tĂ« audites Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r tamponizimin e operacionit tĂ« regjistrimit nĂ« log. MadhĂ«sia e tamponit pĂ«rcaktohet pĂ«rmes variablĂ«s server_audit_file_buffer_size.
    Kjo veçori ruan informacionin mbi portet e rrjetit për lidhjet e ardhshme në logun e auditi (më parë hoqej vetëm hosti).
  • NĂ« utilitarin mariadb Ă«shtĂ« shtuar opsioni «—script-dir» pĂ«r tĂ« caktuar njĂ« katalog alternativ pĂ«r kĂ«rkimin e skripteve qĂ« ekzekutohen me komandĂ«n SOURCE.
  • Lejohet pĂ«rdorimi i replikimit nĂ« njĂ« modalitet paralel gjatĂ« replikimit asinkron tĂ« tĂ« dhĂ«nave ndĂ«rmjet dy klasterave Galera.
  • NĂ« utilitarin mariadb-dump Ă«shtĂ« shtuar mundĂ«sia pĂ«r tĂ« specifikuar maska (p.sh., «database_*»), duke pĂ«rdorur opsionin «-L» (—wildcards).
  • KĂ«rkesa pĂ«r unikĂ«sinĂ« e identifikatorĂ«ve tĂ« çelĂ«save tĂ« jashtĂ«m (foreign key) Ă«shtĂ« hequr nĂ« kontekstin e gjithĂ« DB-sĂ« (mjafton unikĂ«sia nĂ« nivelin e tabelĂ«s).
  • Kufizimet mbi nivelin e thellĂ«sisĂ« sĂ« strukturave nĂ« funksionet pĂ«r punĂ« me JSON janĂ« hequr (u hoq kufiri JSON_DEPTH_LIMIT, i cili mĂ« parĂ« merrte vlerĂ«n 32).
  • Shtuar tabela TRIGGERED_UPDATE_COLUMNS nĂ« skemĂ«n INFORMATION_SCHEMA (INFORMATION_SCHEMA.TRIGGERED_UPDATE_COLUMNS), e cila tregon kolonat qĂ« ndryshojnĂ« kur aktivizohet njĂ« trigger.
  • NĂ« tabelĂ«n PARAMETERS nĂ« skemĂ«n INFORMATION_SCHEMA Ă«shtĂ« realizuar kolona PARAMETER_DEFAULT, e cila pĂ«rmban vlerat e paracaktuara tĂ« parametrave tĂ« procedurave tĂ« ruajtura.
  • JanĂ« hequr variablat big_tables, large_page_size dhe storage_engine, tĂ« cilat mĂ« parĂ« ishin shpallur tĂ« vjetruara.

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster