Esitatud on andmebaasi MariaDB 12.3.2 vÀljaanne, mis on tÀhistatud kui esimene stabiilne versioon harust 12.3. Haru MariaDB 12.3 on klassifitseeritud pikaajalise toe vÀljalaske alla ja seda toetatakse kuni juuni 2029. Samuti on saadaval vÀljaanne MariaDB 13.0.1, millel on kandidaadi staatus.
MariaDB projekt arendab MySQL-ist hargnenud versiooni, mis sĂ€ilitab tagasipööratavuse ja erineb tĂ€iendavate salvestusmootorite integreerimise ja laialdaste vĂ”imaluste poolest. MariaDB arendust juhib sĂ”ltumatu organisatsioon MariaDB Foundation vastavalt avatud ja lĂ€bipaistvale arendusprotsessile, mis ei sĂ”ltu ĂŒksikutest tootjatest. MariaDB on paljudes Linuxi jaotustes (RHEL, SUSE, Fedora, openSUSE, Slackware, OpenMandriva, ROSA, Arch Linux, Debian) saadaval MySQL asemel ja on rakendatud suurtes projektides nagu Wikipedia, Google Cloud SQL ja Nimbuzz.
MariaDB 12.3 haru muudatuste hulgas vÔrreldes eelmise LTS vÀljalaske, MariaDB 11.8-ga:
- Binaarlogi (binlog) rakendamine on tĂ€ielikult ĂŒmber loodud, peamised komponendid on kolitud sisemootorisse InnoDB. Selline ĂŒmberpaigutamine on vĂ”imaldanud loobuda aegunud sĂŒnkroniseerimise loogikast, kiirendada replikatsiooni ja suurendada andmete kirjutamisega seotud operatsioonide jĂ”udlust. Uue rakenduse testimisel kĂ”rge koormuse all olevates sĂŒsteemides on mĂ€rgatud jĂ”udluse kasvu andmete kirjutamise arvuga kuni 4 korda. Selle aktiveerimiseks on pakutud seade âbinlog_storage_engine=innodbâ.
- VektorsĂŒsteemide otsingu kiirus on tĂ”usnud 30â50% vĂ”rra, kasutades tĂŒĂŒpi VECTOR, mida rakendatakse masinĂ”ppes. KiirusetĂ”us saavutatakse arvutuste optimeerimise kaudu vektorite sarnaste otsingute puhul mitmemÔÔtmelistes ruumides ja uue tehnika rakendamise kaudu, mis pĂ”hineb pesa sisemiste vektorite esitustel (matryoshka embedding).
- Oracle andmebaasist migratsiooni lihtsustamiseks on lisatud vĂ”imalused. Oracle andmebaasi ĂŒhilduvuses on rakendatud funktsioonid TO_NUMBER (stringi muutmine arvuks), TO_DATE (stringi muutmine kuupĂ€evaks) ja TRUNC (kuupĂ€eva lĂŒhendamine, nĂ€iteks tunni, pĂ€eva, kuu, aasta jĂ€rgi), samuti on lisatud assotsiatiivsete massiivide (INDEX BY) ja sĂŒntaks â( + )â toetamine vĂ€liste ĂŒhinemiste mÀÀratlemiseks.
- MySQL-iga ĂŒhilduvuse suurendamiseks on lisatud autentimise plugin caching_sha2_password, mis kasutab esitamise jaoks SHA2 algoritmi, mitte SHA1, ja on ĂŒhilduv sama nime saanud pluginaga MySQL 9-st.
- Uus tĂŒĂŒp XMLTYPE on lisatud andmete salvestamiseks XML formaadis.
- Parameetriliste pÀringute (prepared statement) kasutamise vÔimalus on rakendatud kursoreid kasutades.
- Lisatud on vĂ€ljend âSET PATHâ, et mÀÀrata komponentide otsimise jĂ€rjekord andmeskeemi juurde pÀÀsemisel ilma skeemi nime tĂ€psustamata.
- Rakendatud on operatsiooni âIS JSONâ tugi JSON vĂ€ljendi tĂŒĂŒbi kontrollimiseks, mis on mÀÀratletud SQL:2023 standardis.
- Tavaldis âPARTITION BY KEYâ on ellu viidatud MYSQL51, MYSQL55, BASE31, CRC32C, XXH32 ja XXH3 salvestamisalgoritme.
- Salvestusmootoris Aria on rakendatud segmenteeritud vĂ”tme vahemĂ€lu, kus vĂ”tmed jagatakse rĂŒhmadesse, mida hoitakse eraldi vahemĂ€lu segmentides. Uus vahemĂ€lu on vĂ”imaldanud suurendada mitme kasutaja samal ajal esitatud pĂ€ringute tĂ”husust. Segmentide arv mÀÀratakse muutuja aria_pagecache_segments kaudu, mille vÀÀrtused vĂ”ivad ulatuda 1 (vaikimisi) kuni 128.
- Lisatud on funktsioonide pÔhised indeksid (functional index), et parandada GROUP/ORDER BY operatsioonide tÔhusust.
- Rakendatud on toetust vĂ€ljendile âCREATE GLOBAL TEMPORARY TABLEâ globaalse ajutise tabeli loomiseks. Sellised ajutised tabelid kustutatakse seansi lĂ”ppedes ja need on nĂ€htavad kĂ”igile kasutajatele, kuid sisaldavad iga kasutaja jaoks individuaalseid andmeid.
- Lisatud tugi SSL-salvestusvÔtmed, mis on kaitstud parooliga. SSL-sertifikaatide vabastamiseks vajalik parool saab mÀÀrata muutuja ssl_passphrase kaudu vÔi kÀsitsi kÀivitamisel. serverilt.
- Lisatud on vĂ€ljend âSET SESSION AUTHORIZATIONâ, et teostada toiming teise kasutaja nimel vastavate Ă”iguste seadmisel (seda vĂ€ljendit vĂ”ib pidada analoogiks âsudoâ andmebaasides).
- Pluginasse file_key_management.so on lisatud SHA-2 rÀsimise toetus.
- Lisatud on toetust nĂ”rkade kursori muutujatele (weak cursor variable) eelmÀÀratud tĂŒĂŒpi SYS_REFCURSOR, mis vĂ”imaldavad tagastada kursori salvestatud protseduuridest (OUT parameetrina) vĂ”i funktsioonidest (RETURN vĂ€ljendis). Samuti on lisatud sĂŒsteemimuutuja âmax_open_cursorsâ, et piirata samaaegselt avatud kursori maksimaalset arvu.
- TĂŒĂŒp TO_CHAR on saanud toetuse FM formaadili (Fill Mode), et vĂ€ltida tĂ€iendavat tĂ€itmist. NĂ€iteks pĂ€ring:
âSELECT CONCAT(â/â, TO_CHAR(â2020-01-06 10:11:12â, âFMDAYâ), â/â);â tagastab â/Monday/â asemel â/Monday /â. - Tööriista mariadb-check ja vĂ€ljendi CHECK TABLE toetust on laiendatud SEQUENCE mootori tabelitele.
- Optimeerijasse on lisatud toimetamisvĂ”imalusi (hint), mis mĂ”jutavad optimeerimisplaani 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. VĂ”imalused paigutatakse pĂ€ringusse MySQL ĂŒhilduvas formaadis, nĂ€iteks:
SELECT /*+ BKA(t1) NO_BKA(t2) */ * FROM t1 INNER JOIN t2 WHERE âŠ;
VALI /*+ MAX_EXECUTION_TIME(1000) */ * FROM t1 INNER JOIN t2 WHERE âŠ; - TĂ”husust on parendatud mittehaalitud vĂ€ljendite "LEFT JOIN" ja jĂ€rjekorra skaneerimise puhul, kasutades vĂ€ljendit "PARTITION BY RANGE".
- Optimeerija jÀlgimise tulemustes on nÀidatud definitsioonid
tabelitest ja vaadeidest. - Tabelite sulandamise (JOIN) toimingute teostamisel on rakendatud optimeerimist, mis arvestab ridade unikaalsust alamkĂŒsitlustes vĂ€ljendiga "GROUP BY" tĂ€psema tulemuslike ridade arvu (out_rows) prognoosimise ja indeksite Ă”ige rakendamise jaoks.
- MDL (Metadata Lock) lukustuste skaleeritavust on parendatud.
- Kasutusele on vÔetud 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 on toetus trikkidele, mis aktiveeruvad mitme sĂŒndmuse korral. CREATE TRIGGER vĂ€ljendis on nĂŒĂŒd vĂ”imalik loetleda vastavad sĂŒndmused, kasutades sĂŒntaksit "{ event [ OR ⊠] }".
- Auditilogimise plugina on lisatud kirjutamislogi operatsiooni puhversalvestuse tugi. Puhversalvuse suurus mÀÀratakse server_audit_file_buffer_size muutuja kaudu.
Auditilogis on rakendatud teabe salvestamine sissetulevate ĂŒhenduste vĂ”rgupordite kohta (varem peegeldati ainult hosti). - Mariadb utiliiti on lisatud valik "âscript-dir" alternatiivse kausta mÀÀramiseks skriptide leidmiseks, mida kĂ€sk SOURCE kĂ€ivitab.
- Andmete asĂŒnkroonses replikatsioonis kahe Galera klastrite vahel on lubatud paralleelse replikatsiooni kasutamine.
- Mariadb-dump utiliiti on lisatud vĂ”imalus mÀÀrata maskid (nĂ€iteks, "database_*"), kasutades valikut "-L" (âwildcards).
- VÀlistatud on nÔue vÀliste vÔtmete (foreign key) unikaalsuse kohta kogu andmebaasis (piisab unikaalsusest tabeli tasemel).
- JSON funktsioonide korral on tĂŒhistatud struktuuride pesastamise taseme piirangud (eemaldatud JSON_DEPTH_LIMIT, mis varem vĂ”ttis vÀÀrtuse 32).
- INFORMATION_SCHEMA skeemi on lisatud tabel TRIGGERED_UPDATE_COLUMNS (INFORMATION_SCHEMA.TRIGGERED_UPDATE_COLUMNS), mis nÀitab, millised veerud muutuvad trikkide aktiveerimisel.
- INFORMATION_SCHEMA skeemi PARAMETERS tabelis on rakendatud veerg PARAMETER_DEFAULT, mis sisaldab salvestatud protseduuride parameetrite vaikimisi vÀÀrtusi.
- Eemaldatud on muutujad big_tables, large_page_size ja storage_engine, mis olid varem deklareeritud aegunuks.
Allikas: opennet.ru
