MariaDB 12.3.2 andis vÀlja, mis on mÀrgitud kui esimene stabiilne versioon harust 12.3. MariaDB 12.3 haru kuulub pikaajalise toe vÀljaannetesse ja seda toetatakse kuni juuni 2029. Samuti on saadaval versioon MariaDB 13.0.1, millel on kandidaatide staatuse.
MariaDB projekt arendab MySQL-i hargnemist, mis sĂ€ilitab tagasipöördumise ĂŒhilduvuse ning erineb tĂ€iendavate salvestusmootorite integreerimise ja laiendatud vĂ”imalustega. MariaDB arengut juhib sĂ”ltumatu organisatsioon MariaDB Foundation avatud ja lĂ€bipaistva arendusprotsessi kohaselt, mis ei sĂ”ltu ĂŒksikutest tootjatest. MariaDB tarnitakse MySQL-i asemel paljudesse Linuxi distributsioonidesse (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) ning on kasutusele vĂ”etud sellistes suurtes projektides nagu Wikipedia, Google Cloud SQL ja Nimbuzz.
MariaDB 12.3 haru muudatused vÔrreldes eelneva LTS vÀljaandega MariaDB 11.8:
- Binaarlogi (binlog) elluviimine on tĂ€ielikult ĂŒmber kujundatud, peamised komponendid on ĂŒle viidud InnoDB mootorisse. Selline ĂŒleviimine on vĂ”imaldanud loobuda vananenud sĂŒnkroniseerimise loogikast, kiirendada replikatsiooni ning suurendada andmete salvestamisega seotud toimingute jĂ”udlust. Uue teostuse testimisel kĂ”rge koormusega sĂŒsteemides on mĂ€rgatud jĂ”udluse kasvu kuni 4 korda suure hulga salvestusoperatsioonide korral. Selle aktiveerimiseks on soovitatud seade 'binlog_storage_engine=innodb'.
- VektorsĂŒsteemis, mida kasutatakse masinĂ”ppes, on vektorite sarnaste otsingute kiirus tĂ”usnud 30-50%. Kiirendamine saavutatakse arvutuste optimeerimisega kĂ”rvutuste leidmiseks mitmemÔÔtmelistes ruumides ning uue sisseehitatud vektorite esitlemise (matryoshka embedding) pĂ”hjal tehtud ekstrapoleerimise tehnika rakendamisega.
- Oracle'i andmebaasist migratsiooni lihtsustamiseks on lisatud uusi funktsioone. Oracle'i andmebaasiga ĂŒhilduvas reĆŸiimis on rakendatud funktsioonid TO_NUMBER (stringi konverteerimine numbriks), TO_DATE (stringi konverteerimine kuupĂ€evaks) ja TRUNC (kuupĂ€eva kĂ€rpimine nĂ€iteks tunni, pĂ€eva, kuu vĂ”i aasta kaupa), samuti toetatakse assotsiatiivseid massiive (INDEX BY) ja sĂŒntaksit â( + )â vĂ€liste ĂŒhenduste mÀÀratlemiseks (outer join).
- MySQL-iga ĂŒhilduvuse tĂ”stmiseks on lisatud caching_sha2_password autentimislisa, mis kasutab rĂ€simiseks SHA2 algoritmi SHA1 asemel ja on ĂŒhilduv sama nime kandva laiendiga MySQL 9-st.
- Andmete salvestamiseks XML-formaadis on lisatud uus XMLTYPE tĂŒĂŒp.
- Rakendatud on kursoreid koos parameetriseeritud pÀringutega (prepared statement).
- Lisatud kÀsklus «SET PATH», et mÀÀrata ladustamise schéma koostisosade otsimise jÀrjekord, kui neid kutsutakse ilma schéma nime mÀÀramata.
- Realiseeritud on tehingu «IS JSON» tugi, et kontrollida JSON-i vĂ€ljendi tĂŒĂŒpi, mis on mÀÀratletud SQL:2023 standardis.
- VÀljendis «PARTITION BY KEY» on rakendatud MYSQL51, MYSQL55, BASE31, CRC32C, XXH32 ja XXH3 hash-algoritmide tugi.
- Aria salvestuse mootoris on rakendatud segmenteeritud vĂ”tmekahjustuste vahemĂ€lu, kus vĂ”tmed jagatakse rĂŒhmadesse, mida hoitakse eraldi vahemĂ€lu segmentides. Uus vahemĂ€lu on vĂ”imaldanud parandada samaaegsete pĂ€ringute tĂ€itmise jĂ”udlust erinevate kasutajate poolt. Segmentide arvu mÀÀrab muutuja aria_pagecache_segments, mis vĂ”ib vĂ”tta vÀÀrtusi vahemikus 1 (vaikimisi) kuni 128.
- Lisatud on funktsioonide alusel indekseerimise (functional index) tugi, et suurendada GROUP / ORDER BY operatsioonide jÔudlust.
- Realiseeritud on vÀljendi «CREATE GLOBAL TEMPORARY TABLE» tugi globaalselt ajutiste tabelite loomiseks. Sellised ajutised tabelid kustutatakse pÀrast seansi lÔppu ja nad on nÀhtavad kÔigile kasutajatele, kuid sisaldavad andmeid, mis on individuaalsed iga kasutaja jaoks.
- Lisatud tugi SSL-parooliga kaitstud vÔtmed. SSL-sertifikaatide avamiseks mÔeldud parooli saab mÀÀrata muutujaga ssl_passphrase vÔi kÀsitsi kÀivitamisel. serverile.
- Lisatud kÀsk «SET SESSION AUTHORIZATION», et teostada teise kasutajana toimingut, kui on antud vastavad Ôigused (kÀsku vÔib pidada analoogiks «sudo» andmebaasides).
- Pluginasse file_key_management.so on lisatud SHA-2 ridade toetus.
- Lisatud on nĂ”rkade kursori muutujate (weak cursor variable) tugi eeldatud tĂŒĂŒpi SYS_REFCURSOR, mis vĂ”imaldab tagastada kursori salvestatud protseduuridest (OUT parameetris) vĂ”i funktsioonidest (RETURN avaldises). Samade avatud kursori arvu piiramise sĂŒsteemimuutujaks on «max_open_cursors».
- TĂŒĂŒp TO_CHAR on saanud tugi FM (Fill Mode) formaadi jaoks, et vĂ€ltida tĂ€iendava tĂ€itmise lisamist. NĂ€iteks pĂ€ring
«SELECT CONCAT(â/â, TO_CHAR(â2020-01-06 10:11:12â, âFMDAYâ), â/â);» tagastab «/Monday/» asemel «/Monday /». - Muutujasse mariadb-check ja kĂ€sku CHECK TABLE on lisatud tugi SEQUENCE mootorist pĂ€rit tabelitele.
- Optimeerijasse on lisatud toetuse valikute (hint), mis mĂ”jutavad optimeerimise plaanide koostamist: 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 ja [NO_]MERGE. Valikud lisatakse pĂ€ringusse MySQL-i ĂŒhilduvas formaadis, nĂ€iteks:
SELECT /*+ BKA(t1) NO_BKA(t2) */ * FROM t1 INNER JOIN t2 WHERE âŠ;
SELECT /*+ MAX_EXECUTION_TIME(1000) */ * FROM t1 INNER JOIN t2 WHERE âŠ; - Suurenes mittejĂ€rjestatud vĂ€ljendite "LEFT JOIN" ja jĂ€rjestatud skaneerimise jĂ”udlus, kui kasutatakse vĂ€ljendit "PARTITION BY RANGE".
- Optimeerija jÀlgimistulemustes on tagatud tabelite ja vaadete mÀÀratlemine.
tabelite ja vaadete. - Tabelite (JOIN) sulandumise operatsioonide elluviimisel on rakendatud optimiseerimist, mis arvestab ridade unikaalsust alamklauslites vÀljendiga "GROUP BY", et ennustada tÀpsemalt tulemuste ridade arvu (out_rows) ja Ôigesti rakendada indekseid.
- MDL (Metadata Lock) lukustuste skaleeritavust on parendatud.
- On lisatud uute GIS (Geographic Information System) funktsioonide tugi:
ST_Validate, MBRCoveredBy, ST_Simplif, ST_GeoHash, ST_LatFromGeoHash, ST_LongFromGeoHash, ST_PointFromGeoHash, ST_IsValid, ST_Collect. - Lisatud tugi kĂ€ivitajatele, mis toimivad mitme sĂŒndmuse korral. Loo kĂ€ivitaja vĂ€ljendis on nĂŒĂŒd vĂ”imalik loetleda sellele alluvaid sĂŒndmusi, kasutades sĂŒntaksi «{ event [ OR ⊠] }».
- Auditilogimise plugina juurde on lisatud toetust logimistöötluse puhversalvestusele. Puhversalvestuse suurus mÀÀratakse muutuja server_audit_file_buffer_size kaudu.
Auditilogis on nĂŒĂŒd talletatud teavet sissetulevate ĂŒhenduste vĂ”rguportide kohta (enne peegeldati ainult host). - MariaDB utiliiti on lisatud valik «âscript-dir», et mÀÀrata alternatiivne kaust skriptide otsimiseks, mida kĂ€ivitab kĂ€sk SOURCE.
- Andmete asĂŒnkroonse replikatsiooni korral kahe Galera klastriga on lubatud replikatsiooni kasutamine paralleelselt.
- MariaDB-dump utiliiti on lisatud vĂ”imalus mÀÀrata mustreid (nĂ€iteks «database_*»), kasutades valikut «-L» (âwildcards).
- Eemaldi nÔue vÀliste vÔtmete (foreign key) tuvastamise unikaalsuse kohta kogu andmebaasis (tabeli tasandil piisab unikaalsusest).
- JSON-i töötlemisel funktsioonides on eemaldatud sĂŒgavate struktuuride taseme piirangud (eemaldatud piirang JSON_DEPTH_LIMIT, mis enne oli 32).
- INFORMATION_SCHEMA skeemis on lisatud TRIGGERED_UPDATE_COLUMNS tabel (INFORMATION_SCHEMA.TRIGGERED_UPDATE_COLUMNS), mis nÀitab veerge, mis muudetakse, kui triger aktiveerub.
- INFORMATION_SCHEMA tabelis PARAMETERS on rakendatud PARAMETER_DEFAULT veerg, mis sisaldab salvestatud protseduuride parameetrite vaikimisi vÀÀrtusi.
- Eemaldatud on variandid big_tables, large_page_size ja storage_engine, mis on varem kuulutatud aegunuks.
Allikas: opennet.ru
