MariaDB lavora all'esecuzione parallela delle query: primi numeri, nessuna data
MariaDB sta sviluppando l'esecuzione parallela delle query su InnoDB. Nei test interni fino a 7x più veloce su TPC-H, ma non è ancora rilasciata.
Redazione UptimeMag · 29 ottobre 2026 · 2 minuti di lettura

MariaDB sta sviluppando l'esecuzione parallela delle query su più core CPU, una funzione che il motore non ha mai avuto: dalla sua nascita esegue ogni query su un singolo thread. Lo ha raccontato Oleg Smirnov, del team Optimizer, nella prima puntata di Inner Join, la serie di interviste pubblicata dalla MariaDB Foundation. Per chi amministra server MariaDB in produzione la notizia è rilevante soprattutto per i workload analitici: query che fanno aggregazioni su tabelle grandi.
Il lavoro si concentra su InnoDB. Una tabella viene divisa in chunk a partire dalla pagina radice del B-tree dell'indice clustered: ogni voce della pagina radice diventa un chunk iniziale, che un worker elabora oppure ridivide se è troppo grande rispetto al numero di worker disponibili (tipicamente 8 o 16, in base ai core). Ogni worker fa join e aggregazione sul proprio chunk in una tabella temporanea; alla fine i risultati parziali vengono uniti.
Il dato pratico emerso dai test: una scansione semplice di tabella non guadagna nulla dal parallelismo, perché la lettura sequenziale in memoria è già ottimale e lo split introduce accessi casuali. A beneficiare sono join, filtri e soprattutto aggregazioni.
Le prime misure
Sono due i test citati, entrambi su laptop e non su server di produzione. Il primo: una query di aggregazione su una tabella da 100 milioni di righe, 20 secondi in esecuzione seriale, dimezzati con 2 worker, con guadagni decrescenti salendo a 4, 8 e 16 worker. Il secondo è il benchmark TPC-H: alcune query risultano da 5 a 7 volte più veloci (Q3 e Q6 le più promettenti), altre come Q7 e Q8 migliorano poco, mentre Q1 e Q2 non compaiono perché la loro forma non è ancora supportata.
Niente date, priorità alla stabilità
Il team non si impegna su una data di rilascio: prima arriva una fase di query "garantite" corrette in parallelo, poi la QA, solo dopo l'eventuale rilascio. L'obiettivo dichiarato da Smirnov è avere una prima fase stabile nel 2027.
Va detto che MariaDB arriva tardi su questo fronte. PostgreSQL ha introdotto il Parallel Query nella versione 9.6, nel 2016, dieci anni prima. Su MySQL il parallelismo in InnoDB esiste dalla 8.0.14, ma è limitato alle query count(*) e check table, non all'esecuzione generale.
Chi vuole testare la funzione quando uscirà una prima versione pubblica può seguire gli sviluppi sul canale YouTube della MariaDB Foundation, dove è pubblicata l'intervista completa.
Testo redatto con il supporto dell'intelligenza artificiale e verificato dalla redazione (AI Act, art. 50).