MariaDB: un plugin aggiunge HyperLogLog per i conteggi distinti
Il plugin type_hll aggiunge a MariaDB un tipo dato e funzioni per sketch HyperLogLog. Serve ancora un server compilato da branch, non la versione stabile.
Redazione UptimeMag · 1 novembre 2026 · 2 minuti di lettura

Chi tiene un conteggio di utenti unici al giorno conosce il problema: i numeri giornalieri non si possono sommare per ottenere il totale settimanale, perché uno stesso utente può comparire più giorni. La soluzione classica è ripetere la scansione dei log grezzi ogni volta che cambia la finestra temporale richiesta. Un nuovo plugin per MariaDB, type_hll, prova a evitarlo spostando il calcolo su strutture dati che si possono sommare tra loro.
Il plugin, descritto sul blog ufficiale di MariaDB da Roman Nozdrin, aggiunge una libreria condivisa, type_hll.so, che registra il tipo dato HLL e otto funzioni. Si attiva con un'unica istruzione: INSTALL SONAME 'type_hll'.
Il dettaglio che conta per chi deve provarlo subito: fino a quando il meccanismo non arriva ufficialmente nel server, il plugin richiede un server compilato da questo branch, cioè dalla pull request MariaDB/server#6011, non da un pacchetto stabile scaricabile dal repository ufficiale.
Cosa fa concretamente
Una colonna di tipo HLL contiene uno sketch, non il conteggio esatto. Si costruisce con HLL_BUILD_AGG(colonna) in una GROUP BY, e sketch diversi si uniscono con HLL_UNION_AGG() per rispondere a domande su finestre temporali più ampie senza riscansionare i dati grezzi. La precisione non è assoluta: fino a 256 valori distinti il conteggio è esatto, oltre quella soglia la stima usa 16384 registri con un errore standard atteso di circa 0,8125%, secondo quanto dichiarato nel post.
Il meccanismo tecnico sotto il cofano combina tre API del server: i tipi dato pluggable, le funzioni scalari pluggable (entrambe esistenti dal 2019) e le funzioni di aggregazione pluggable, introdotte con MDEV-40672. Sul changelog ufficiale di MariaDB, questa funzione risulta già elencata tra le novità della serie 13.2 Preview, rilasciata il 23 settembre 2026, e non solo "in arrivo con la 13.3" come indicato nel post del blog.
Per chi lo valuta ora
Chi gestisce instanze MariaDB in produzione non troverà questo plugin nei repository stabili: serve compilare il server dal branch indicato. Chi oggi ha bisogno di sketch HyperLogLog in produzione su un database relazionale può valutare alternative già mature, come l'estensione postgresql-hll per PostgreSQL, disponibile da anni e pacchettizzata fino a PostgreSQL 18.
Il codice del plugin e la pull request sono pubblici su GitHub, nel repository MariaDB/server.
Testo redatto con il supporto dell'intelligenza artificiale e verificato dalla redazione (AI Act, art. 50).