News

Laravel 13 supporta nativamente MariaDB Vector, senza package esterni

Da Laravel 13.28 le colonne vettoriali e le query di similarità funzionano su MariaDB 11.7+ senza pacchetti esterni né pgvector.

Redazione UptimeMag · 7 ottobre 2026 · 2 minuti di lettura

Laravel 13 supporta nativamente MariaDB Vector, senza package esterni

Da Laravel 13.28 le applicazioni che girano su MariaDB possono fare ricerca semantica (vector search) senza un secondo database, senza un servizio vettoriale esterno e senza package aggiuntivi. Lo riporta il blog ufficiale di MariaDB. Per chi gestisce hosting o VPS con stack Laravel, significa un componente in meno da installare e mantenere, e gli embedding restano nelle stesse tabelle dei dati che descrivono: stesso backup, stessa consistenza, stesse query Eloquent.

Fino all'estate scorsa il supporto vettoriale "built-in" di Laravel era una funzione solo PostgreSQL, basata su pgvector. La documentazione dell'AI SDK di Laravel ora specifica: "Vector queries are currently supported on PostgreSQL connections using the pgvector extension, or on MariaDB 11.7 or later using its native vector support."

Requisiti e configurazione

Serve Laravel 13 e MariaDB 11.7 o successiva; la fonte consiglia le versioni LTS 11.8 o 12.3. Nel file .env va impostato il driver dedicato:

DB_CONNECTION=mariadb

Due avvertenze pratiche segnalate da Mohamed Touhami Rhaima, lo sviluppatore che ha seguito buona parte del lavoro di integrazione:

  • usare il driver mariadb, non mysql: puntato su un server MariaDB il driver mysql sembra funzionare, ma le query e gli indici vettoriali generano eccezioni;
  • non chiamare Schema::ensureVectorExtensionExists(): compare nella documentazione dell'AI SDK ma è un helper specifico di pgvector e su MariaDB lancia eccezioni, perché VECTOR è già un tipo nativo.

Una migrazione, un cast nel model e una query bastano per avere una colonna vettoriale ($table->vector('embedding', dimensions: 1536)->index();) interrogabile con whereVectorSimilarTo().

Chi ha fatto cosa

Il lavoro, concentrato tra metà agosto e fine settembre, ha coinvolto più contributor: oltre a Mohamed Touhami Rhaima (query vettoriali, test su MariaDB 11.8 LTS e 12.3 LTS, documentazione), hanno contribuito michielvaneerd (indici vettoriali), eas4ai (binding dei vettori e cast AsVector) e xurshudyan (dropVectorIndex()). Le pull request sono state revisionate e unite da Taylor Otwell, creatore e maintainer di Laravel.

Cosa resta fuori dal core

Laravel core supporta per ora solo la distanza coseno. La distanza euclidea e il parametro M per il tuning dell'indice restano in un package separato, laravel-vector-metrics. Chi cambia metrica deve ricreare l'indice con la stessa metrica usata nelle query: MariaDB utilizza l'indice vettoriale solo se la funzione di distanza corrisponde.

Per chi resta su Laravel 12, il package laravel-mariadb-vector di Erik Ros (oltre 2.000 installazioni) continua a essere l'opzione disponibile.

Testo redatto con il supporto dell'intelligenza artificiale e verificato dalla redazione (AI Act, art. 50). Fonte: MariaDB – rilasci.