Luglio 2024 è stato un mese importante per l'evoluzione del Database Manager MySQL il cui sviluppo è ormai da tempo nelle mani di Oracle. Nel giro di pochi giorni, infatti, abbiamo assistito al rilascio della versione 8.0.38, ai primi aggiornamenti per la LTS (Long Term Support) 8.4 e, soprattutto, alla prima implementazione di MySQL 9.0. Si tratta infatti di una "innovation release" che include alcune funzionalità rilevanti come per esempio il supporto per JavaScript.
Le nuove feature di MySQL 9.0
La definizione "innovation release" non è stata utilizzata a caso. Parliamo di un rilascio pensato per rappresentare la base degli aggiornamenti che verranno effettuati nel prossimo futuro.
Supporto JavaScript
Per quanto riguarda JavaScript, questa versione consentirà di utilizzare il linguaggio per la definizione di stored program e funzioni. Si tratta comunque di una novità che per il momento non è disponibile nella Community Editon della piattaforma. Per accedere ad essa si dovrà utilizzare HeatWave, il modello generativo in-database di Oracle, o sottoscrivere la formula Enterprise. Gli stored program creati in questo modo potranno essere richiamati tramite istruzioni SQL.
[New Release] Introducing MySQL 9.0. See what's new. Read the release notes: ➡️https://t.co/kuNxlWHOpm
Download the new version now: ➡️https://t.co/7vwM5bsqKJ#MySQL pic.twitter.com/8XfpGN98JR— MySQL (@MySQL) July 9, 2024
Tipo di dato VECTOR
Un'altra funzionalità interessante riguarda il supporto per i tipi di dato VECTOR
. Essi saranno utilizzabili nelle istruzioni basate su CREATE
e ALTER
. Sostanzialmente un VECTOR
è una struttura che può contenere fino a un numero specificato di inserimenti o voci. Un vettore non può essere confrontato con nessun altro tipo di dato, può essere invece confrontato con un altro vettore unicamente per verificare l'eventuale uguaglianza tra i due. Non è infine possibile utilizzare un valore associato al tipo VECTOR
per definire una chiave primaria, esterna, unica etc.
L'esempio seguente mostra la procedura per creare una tabella associata alla storage engine InnoDB che presenta una colonna destinata ad ospitare dei vettori:
mysql> CREATE TABLE tabella (colonna VECTOR(777));
Come specificato nella documentazione ufficiale del DBMS, VECTOR
non potrà essere utilizzato con funzioni numeriche ed operatori, nelle ricerche Fulltext, con le funzioni JSON e XML.