Sapo një degë të re LTS të bazës së të dhënave MariaDB 12.3

Doli në treg versioni i bazës së të dhënave MariaDB 12.3.2, i cili shënohet si lëshimi i parë stabil i degës 12.3. Dega MariaDB 12.3 është klasifikuar si një version me mbështetje afatgjate dhe do të mbështetet deri në qershor 2029. Në të njëjtën kohë, është i disponueshëm lëshimi MariaDB 13.0.1, i cili ka statusin e kandidatëve për lëshim.

Projekti MariaDB zhvillon një degëzim të MySQL, që ruan përputhshmërinë prapavepruese dhe dallohet për integrimin e engine-ve shtesë të ruajtjes dhe funksionaliteteve të avancuara. Zhvillimi i MariaDB mbikëqyret nga organizata e pavarur MariaDB Foundation, në përputhje me një proces zhvillimi të hapur dhe transparent, të pavarur nga prodhues të veçantë. MariaDB shpërndahet si zëvendësim për MySQL në shumë distribucione 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.

Ndryshimet në degën MariaDB 12.3 në krahasim me lëshimin e mëparshëm LTS MariaDB 11.8:

  • Implementimi i logut binar (binlog) Ă«shtĂ« pĂ«rmirĂ«suar PlotĂ«sisht, komponentĂ«t kryesorĂ« pĂ«r mbajtjen e tij janĂ« transferuar nĂ« motorin InnoDB. Kjo transferim ka lejuar eliminimin e logjikĂ«s sĂ« vjetruar tĂ« sinkronizimit, pĂ«rshpejtimin e replikimit dhe rritjen e performancĂ«s sĂ« operacioneve tĂ« lidhura me shkrimin e tĂ« dhĂ«nave. GjatĂ« testimeve tĂ« implementimit tĂ« ri nĂ« sisteme me ngarkesĂ« tĂ« lartĂ« Ă«shtĂ« vĂ«rejtur njĂ« rritje e performancĂ«s deri nĂ« 4 herĂ« kur numri i operacioneve tĂ« shkrimit Ă«shtĂ« i madh. PĂ«r aktivizimin e kĂ«saj Ă«shtĂ« propozuar konfigurimi "binlog_storage_engine=innodb".
  • ShpejtĂ«sia e kĂ«rkimeve vektoriale pĂ«rdorur tipin VECTOR Ă«shtĂ« rritur 30-50%, i aplikuar nĂ« sistemet e mĂ«simit tĂ« makinerisĂ«. Ky pĂ«rshpejtim arrihet falĂ« optimizimit tĂ« llogaritjeve gjatĂ« kĂ«rkimit tĂ« ngjashmĂ«rive midis vektorĂ«ve nĂ« hapĂ«sira me shumĂ« dimensione dhe implementimit tĂ« njĂ« teknike tĂ« re eksitimi tĂ« bazuar nĂ« pĂ«rfaqĂ«simet e brendshme vektoriale (matryoshka embedding).
  • Shtohen mundĂ«si pĂ«r tĂ« thjeshtuar migrimin nga bazat e tĂ« dhĂ«nave Oracle. NĂ« modin e pĂ«rputhshmĂ«risĂ« me bazĂ«n e tĂ« dhĂ«nave Oracle janĂ« implementuar funksionet TO_NUMBER (konvertimi i vargut nĂ« numĂ«r), TO_DATE (konvertimi i vargut nĂ« datĂ«) dhe TRUNC (shkurtime date, pĂ«r shembull, deri nĂ« orĂ«, ditĂ«, muaj, vit), si dhe Ă«shtĂ« shtetur mbĂ«shtetje pĂ«r array asociativ (INDEX BY) dhe sintaksĂ«n "( + )" pĂ«r pĂ«rcaktimin e bashkimeve tĂ« jashtme (outer join).
  • PĂ«r tĂ« rritur pĂ«rputhshmĂ«rinĂ« me MySQL Ă«shtĂ« shtuar plugin-i i autentikimit caching_sha2_password, i cili pĂ«rdor algoritmin SHA2 pĂ«r tĂ« bĂ«rĂ« hash nĂ« vend tĂ« SHA1 dhe Ă«shtĂ« pĂ«rputhshĂ«m me plugin-in e njĂ«jtĂ« nga MySQL 9.
  • ËshtĂ« shtuar njĂ« tip i ri XMLTYPE pĂ«r ruajtjen e tĂ« dhĂ«nave nĂ« formatin XML.
  • ËshtĂ« realizuar mundĂ«sia e pĂ«rdorimit tĂ« kursoreve me kĂ«rkesa tĂ« parametrizuara (prepared statement).
  • ËshtĂ« shtuar shprehja "SET PATH" pĂ«r tĂ« caktuar rendin e kĂ«rkimit tĂ« komponentĂ«ve tĂ« skemĂ«s sĂ« ruajtjes kur iu drejtohemi atyre pa specifikuar emrin e skemĂ«s.
  • ËshtĂ« implementuar mbĂ«shtetje pĂ«r operacionin "IS JSON" pĂ«r tĂ« kontrolluar llojin e shprehjes JSON, tĂ« pĂ«rcaktuar nĂ« standardin SQL:2023.
  • NĂ« shprehjen «PARTITION BY KEY» Ă«shtĂ« realizuar mbĂ«shtetje pĂ«r algoritmet e hashimit MYSQL51, MYSQL55, BASE31, CRC32C, XXH32 dhe XXH3.
  • NĂ« engine-in e ruajtjes Aria Ă«shtĂ« implementuar njĂ« cache i segmentuar i çelĂ«save, ku çelĂ«sat ndahen nĂ« grupe qĂ« ruhen nĂ« segmente tĂ« veçanta tĂ« cache-it. Cache-i i ri ka bĂ«rĂ« tĂ« mundur rritjen e performancĂ«s gjatĂ« ekzekutimit paralel tĂ« kĂ«rkesave nga pĂ«rdorues tĂ« ndryshĂ«m. Numri i segmenteve pĂ«rcaktohet pĂ«rmes ndryshores aria_pagecache_segments, e cila mund tĂ« marrĂ« vlera nga 1 (si parazgjedhje) deri nĂ« 128.
  • ËshtĂ« shtuar mundĂ«sia e pĂ«rdorimit tĂ« indekseve tĂ« bazuara nĂ« funksione (functional index) pĂ«r tĂ« rritur performancĂ«n e operacioneve GROUP/ORDER BY.
  • ËshtĂ« realizuar mbĂ«shtetje pĂ«r shprehjen «CREATE GLOBAL TEMPORARY TABLE» pĂ«r krijimin e tabelave globale pĂ«rkohshme. TĂ« tilla tabela pĂ«rkohshme fshihen pas pĂ«rfundimit tĂ« sesionit dhe janĂ« tĂ« dukshme pĂ«r tĂ« gjithĂ« pĂ«rdoruesit, por pĂ«rmbajnĂ« tĂ« dhĂ«na individuale pĂ«r çdo pĂ«rdorues.
  • Shtuar mbĂ«shtetje SSL-çelĂ«sa, tĂ« mbrojtur me fjalĂ«kalim. FjalĂ«kalimi pĂ«r zhbllokimin e certifikatave SSL mund tĂ« caktohet pĂ«rmes variablĂ«s ssl_passphrase ose manualisht gjatĂ« nisjes. serverĂ«.
  • ËshtĂ« shtuar shprehja «SET SESSION AUTHORIZATION» pĂ«r tĂ« kryer veprime nĂ« emĂ«r tĂ« njĂ« pĂ«rdoruesi tjetĂ«r kur janĂ« caktuar privilegjet pĂ«rkatĂ«se (kjo shprehje mund tĂ« konsiderohet si njĂ« analog i «sudo» pĂ«r DBMS).
  • NĂ« shtojcĂ«n file_key_management.so Ă«shtĂ« shtuar mbĂ«shtetja pĂ«r hash-et SHA-2.
  • ËshtĂ« shtuar mbĂ«shtetja pĂ«r variabla tĂ« dobĂ«ta tĂ« kursorit (weak cursor variable) tĂ« tipit tĂ« paracaktuar SYS_REFCURSOR, tĂ« cilat 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Ă« kursorĂ«ve tĂ« hapur njĂ«kohĂ«sisht, Ă«shtĂ« shtuar variabla e sistemit «max_open_cursors».
  • NĂ« tipin TO_CHAR Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r formatin FM (Fill Mode) pĂ«r tĂ« pĂ«rjashtuar mbushjen e tepĂ«rt. 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 nĂ« shprehjen CHECK TABLE Ă«shtĂ« shtuar mbĂ«shtetja pĂ«r tabelat e motorit SEQUENCE.
  • NĂ« optimizues Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r opsionet (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 pĂ«rfshihen nĂ« kĂ«rkesĂ« nĂ« formatin e pĂ«rshtatshĂ«m 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 ...;

  • ËshtĂ« rritur performanca e shprehjeve tĂ« papĂ«rshkruara «LEFT JOIN» dhe skanimit tĂ« pĂ«rshkruar gjatĂ« pĂ«rdorimit tĂ« shprehjes «PARTITION BY RANGE».
  • NĂ« rezultatet e gjurmimit tĂ« optimizuesit Ă«shtĂ« siguruar shfaqja e pĂ«rkufizimeve
    tabelave dhe pamjeve.
  • GjatĂ« kryerjes sĂ« operacioneve tĂ« bashkimit tĂ« tabelave (JOIN) Ă«shtĂ« realizuar optimizimi qĂ« merr parasysh unikĂ«sinĂ« e rreshtave nĂ« nĂ«nkĂ«rkesa me shprehjen «GROUP BY» pĂ«r parashikimin mĂ« tĂ« saktĂ« tĂ« numrit tĂ« rreshtave rezultues (out_rows) dhe aplikimin e saktĂ« tĂ« indekseve.
  • ËshtĂ« pĂ«rmirĂ«suar shkallĂ«zueshmĂ«ria e bllokimeve MDL (Metadata Lock).
  • ËshtĂ« shtuar mbĂ«shtetje pĂ«r funksionet e reja GIS (Sistemi Informativ Gjeografik):
    ST_Validate, MBRCoveredBy, ST_Simplif, ST_GeoHash, ST_LatFromGeoHash, ST_LongFromGeoHash, ST_PointFromGeoHash, ST_IsValid, ST_Collect.
  • ËshtĂ« shtuar mbĂ«shtetja pĂ«r trigger-a qĂ« aktivizohen pĂ«r disa ngjarje. NĂ« shprehjen CREATE TRIGGER tani mund tĂ« renditen ngjarjet pĂ«rkatĂ«se duke pĂ«rdorur sintaksĂ«n «{ event [ OR 
 ] }».
  • NĂ« plugin-in pĂ«r mbajtjen e audit log Ă«shtĂ« shtuar mbĂ«shtetja pĂ«r buferimin e operacioneve tĂ« shkrimit nĂ« log. MadhĂ«sia e buferit pĂ«rcaktohet pĂ«rmes ndryshores server_audit_file_buffer_size.
    ËshtĂ« realizuar ruajtja nĂ« logun e auditit tĂ« informacionit mbi portat rrjetit pĂ«r lidhjet e ardhshme (mĂ« parĂ« vetĂ«m hosti shfaqej).
  • NĂ« utilitĂ«n mariadb Ă«shtĂ« shtuar opsioni «—script-dir» pĂ«r tĂ« pĂ«rcaktuar njĂ« direktori alternative pĂ«r kĂ«rkimin e skripteve qĂ« nisen me komandĂ«n SOURCE.
  • ËshtĂ« lejuar pĂ«rdorimi i replikimit nĂ« modalitet paralel gjatĂ« replikimit asinkron tĂ« tĂ« dhĂ«nave midis dy klasterĂ«ve Galera.
  • NĂ« mjetin mariadb-dump Ă«shtĂ« shtuar mundĂ«sia e pĂ«rcaktimit tĂ« maskave (pĂ«r shembull, «database_*»), duke pĂ«rdorur opsionin «-L» (—wildcards).
  • ËshtĂ« hequr kĂ«rkesa pĂ«r unikalitetin e identifikuesve tĂ« çelĂ«save tĂ« huaj (foreign key) nĂ« kuadĂ«r tĂ« gjithĂ« DB-sĂ« (mjafton unikaliteti nĂ« nivel tabele).
  • JanĂ« hequr kufizimet mbi nivelin e thellĂ«sisĂ« sĂ« strukturave nĂ« funksionet pĂ«r punĂ«n me JSON (kufiri JSON_DEPTH_LIMIT, i cili mĂ« parĂ« merrte vlerĂ«n 32, Ă«shtĂ« hequr).
  • ËshtĂ« shtuar tabela TRIGGERED_UPDATE_COLUMNS nĂ« skemĂ«n INFORMATION_SCHEMA (INFORMATION_SCHEMA.TRIGGERED_UPDATE_COLUMNS), qĂ« tregon kolonat qĂ« ndryshohen gjatĂ« aktivizimit tĂ« trigger-it.
  • 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 shĂ«nuar si tĂ« vjetruara.

Burimi: opennet.ru

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