MariaDB 11.8: què canvia realment

MariaDB 11.8 arriba amb millores importants de rendiment, optimització i compatibilitat, a més de noves funcionalitats SQL i canvis interns que convé conèixer.
La nova versió incorpora millores importants de rendiment, optimització, compatibilitat i noves funcionalitats SQL. I encara que per a la majoria de webs modernes no suposarà cap problema, sí que hi ha alguns canvis que convé revisar si treballes amb desenvolupaments personalitzats o aplicacions antigues.
Especialment si el teu projecte depèn molt de consultes SQL avançades, collations específiques, procediments emmagatzemats o lògica heretada.
La bona notícia és que, en la majoria de casos, no hauràs de tocar res.
La menys bona: si tens codi molt antic o molt optimitzat “a mà”, sí que val la pena fer algunes comprovacions.
A qui pot afectar aquesta actualització de MariaDB?
Si utilitzes un WordPress actualitzat juntament amb plugins i temes habituals, pots estar força tranquil/a.
El normal és que tot segueixi funcionant exactament igual després de l’actualització.
Els casos on sí que recomanem revisar el comportament són:
- aplicacions antigues o sense manteniment
- desenvolupaments fets a mida
- integracions directes amb MariaDB
- queries SQL complexes
- configuracions antigues de charset o collation
- triggers i procediments emmagatzemats
- sistemes amb replicació o integracions externes
Dit d’una altra manera: com més personalitzat estigui el projecte, més recomanable és validar alguns punts.
El canvi més important: utf8mb4 passa a ser el charset per defecte ⚠️
Un dels canvis més rellevants de MariaDB 11 és que el charset per defecte deixa de ser latin1 i passa a ser utf8mb4.
I sí: això importa més del que sembla.
Per què pot afectar?
Perquè moltes aplicacions antigues mai van definir explícitament el charset de les seves taules o columnes.
Simplement, assumien el valor per defecte del servidor.
Amb MariaDB 11 això canvia.
Què pot començar a comportar-se diferent?
Principalment:
- comparacions de text
- cerca
- ordenacions (
ORDER BY) - agrupacions (
GROUP BY) - igualtat entre cadenes
- tractament de caràcters especials o emojis
En alguns projectes això no tindrà cap impacte.
En altres, especialment aplicacions antigues o multillenguatge, sí que pot provocar diferències visibles.
Llavors, què convé revisar?
Especialment:
- taules creades fa anys
- columnes sense charset explícit
- aplicacions que barregin diferents collations
- lògica dependent de l’ordre exacte de resultats
Si vols mantenir un comportament concret, el recomanable és definir explícitament charset i collation en taules i columnes.
També canvia la collation Unicode per defecte
MariaDB 11.8 utilitza ara uca1400_ai_ci com a collation Unicode per defecte.
Traduït al món real: algunes comparacions i ordenacions de text poden comportar-se de manera lleugerament diferent.
On sol notar-se?
Sobretot en:
- aplicacions multillenguatge
- cerca interna
- filtres textuals
- sistemes amb ordenacions complexes
- comparacions entre caràcters Unicode
Per exemple, cadenes que abans es consideraven “iguals” podrien deixar de ser-ho, o viceversa.
No és res dramàtic, però sí recomanable revisar si la teva aplicació depèn molt de cerques o comparacions textuals.
Les queries poden canviar de comportament (encara que funcionin millor)
MariaDB 11 incorpora bastantes millores en l’optimitzador SQL.
I això, en general, és una bona notícia.
Moltes consultes passen a executar-se de manera més eficient gràcies a nous criteris d’optimització i índexs més intel·ligents.
El problema és que, en alguns casos, el pla d’execució pot canviar respecte a versions anteriors.
Quin tipus de consultes convé revisar?
Especialment:
UPDATEiDELETEamb subconsultes- queries amb:
DATE()YEAR()SUBSTR()UCASE()
- taules particionades
- columnes virtuals
- consultes molt optimitzades manualment
MariaDB ara pot utilitzar índexs en situacions on abans no podia.
Normalment això millora el rendiment.
Però si la teva aplicació depenia d’un comportament molt concret de l’optimitzador, convé validar-ho.
La recomanació més assenyada
Revisar consultes crítiques utilitzant:
EXPLAIN
sobretot si el projecte té molta càrrega o lògica SQL avançada.
Els triggers i procediments emmagatzemats ara són més estrictes
Un altre punt important: MariaDB 11 endureix algunes validacions internes relacionades amb rutines, triggers i funcions emmagatzemades.
Què significa això?
Que certs procediments antics, SQL dinàmic o sintaxi poc estàndard podrien començar a donar problemes al recrear-se o validar-se.
A més, els triggers UPDATE ara poden executar-se únicament quan canvien determinades columnes.
Això obre noves possibilitats, però també pot canviar comportaments en alguns sistemes heretats.
Hauries de preocupar-te?
Només si utilitzes:
- procediments emmagatzemats complexos
- triggers personalitzats
- SQL dinàmic
- lògica antiga mantinguda des de fa anys
En aplicacions modernes o CMS habituals, això rarament suposa un problema.
Algunes variables antigues desapareixen o queden deprecated
Com passa en gairebé qualsevol salt important de versió, MariaDB 11 elimina part de la compatibilitat heretada.
Algunes variables ja eliminades
old_alter_tablewsrep_load_data_splitting- variables antigues de OQGraph
Variables deprecated
tx_isolationspider_casual_read
Què hauries de revisar
Sobretot:
- scripts d’automatització
- configuracions personalitzades
- eines internes
- desplegaments antics
Moltes vegades el problema no està en l’aplicació web, sinó en scripts oblidats que segueixen utilitzant sintaxi antiga.
MariaDB 11 també porta millores interessants
No tot són compatibilitats i revisions 😄
La nova versió també afegeix funcionalitats força potents.
Noves funcions UUID
Ara pots utilitzar:
UUID_v4()
UUID_v7()
directament des de MariaDB.
Millores en JSON
MariaDB segueix millorant força el suport JSON amb funcions com:
JSON_SCHEMA_VALID()JSON_ARRAY_INTERSECT()JSON_OBJECT_FILTER_KEYS()
molt útils en aplicacions modernes i APIs.
Funcions vectorials i cerca semàntica
Sí: MariaDB també comença a entrar en el món IA.
La nova versió incorpora:
- tipus vectorials
- índexs vectorials
- funcions de similitud
orientades a cerques semàntiques i aplicacions modernes relacionades amb embeddings o IA.
Llavors… hauries de fer alguna cosa?
Per a la majoria dels projectes: probablement no.
Si utilitzes aplicacions modernes, CMS habituals o programari actualitzat, el normal és que la migració sigui completament transparent.
On sí que recomanem revisar és en projectes:
- antics
- molt personalitzats
- amb SQL avançat
- amb lògica heretada
- amb integracions directes contra MariaDB
En aquests casos, val la pena validar:
- collations
- queries crítiques
- triggers
- procediments emmagatzemats
- configuracions antigues
Si vols anar sobre segur, una bona pràctica és provar prèviament l’aplicació en entorns staging abans de l’actualització definitiva, especialment en projectes crítics o amb molt desenvolupament a mida.