MySQL

MySQL o Oracle MySQL (AFI: /maɪ ˌɛskjuːˈɛl/ "My S-Q-L") è un relational database management system (RDBMS) composto da un client a riga di comando e un server. Ambo i costituenti sono multipiattaforma e sono disponibili ufficialmente su tutte le distribuzioni conosciute, quali Debian, Ubuntu e…

MySQL o Oracle MySQL (AFI: /maɪ ˌɛskjuːˈɛl/ "My S-Q-L") è un relational database management system (RDBMS) composto da un client a riga di comando e un server. Ambo i costituenti sono multipiattaforma e sono disponibili ufficialmente su tutte le distribuzioni conosciute, quali Debian, Ubuntu e CentOS, sebbene lo abbiano sostanzialmente sostituito con MariaDB a partire dal 2012.

È software libero pubblicato a doppia licenza, compresa la GNU General Public License, sviluppato per essere il più possibile conforme agli standard ANSI SQL e ODBC SQL. I sistemi e i linguaggi di programmazione che lo supportano sono molto numerosi, fra cui ODBC, Java, Mono, .NET, PHP, Python.

Storia

Il codice sorgente di MySQL era inizialmente di proprietà della società MySQL AB, veniva però distribuito con la licenza GNU GPL oltre che con una licenza che prevedeva assistenza commerciale. Fino alla versione 4.0, una buona parte del codice del client era licenziato con la GNU LGPL e quindi poteva essere utilizzato anche per applicazioni proprietarie. Dalla versione 4.1 in poi, anche il codice del client è distribuito sotto GNU GPL. Esiste peraltro una clausola estensiva che consente l'utilizzo di MySQL con una vasta gamma di licenze libere.

Nel luglio 2007 la società svedese MySQL AB aveva 385 dipendenti in numerosi paesi. I suoi principali introiti provenivano dal supporto agli utilizzatori di MySQL tramite il pacchetto Enterprise, dalla vendita delle licenze commerciali e dall'utilizzo da parte di terzi del marchio MySQL. Il 16 gennaio 2008 Sun Microsystems ha acquistato la società per un miliardo di dollari, stimando il mercato del database in 15 miliardi di dollari.

Il 20 aprile 2009 alla stessa Sun Microsystems è stata proposta l'acquisizione da parte di Oracle per 7,4 miliardi di dollari. L'accordo, approvato dall'antitrust USA, è poi passato al vaglio degli organi corrispondenti dell'Unione Europea, preoccupati per il conflitto di interessi costituito dai database commerciali Oracle rispetto a MySQL. Michael Widenius, il padre di MySQL, ha lanciato una petizione online per opporsi alla fusione. Nonostante ciò l'Unione europea ha dato parere favorevole e l'acquisizione è stata completata il 27 gennaio 2010.

Il ramo 5.5 è il primo a includere estensioni non Open Source, disponibili solo nella versione Enterprise a pagamento.

A partire dal 2012 diverse distribuzioni Linux e alcuni utenti importanti come Wikipedia hanno iniziato a sostituire MySQL con il fork MariaDB.

Sviluppo

Fino a qualche anno fa lo sviluppo del programma era opera soprattutto dei suoi sviluppatori iniziali: David Axmark, Allan Larsson e Michael Widenius. Quest'ultimo era il principale autore del codice, oltre che principale socio della società, e tuttora coordina il progetto, tra l'altro vagliando i contributi che pervengono dai volontari. I contributi vengono accettati a condizione che il loro autore condivida i diritti d'autore con la società.

Caratteristiche

L'Internet Assigned Numbers Authority ha formalmente assegnato al server MySQL la porta TCP 3306.

3.23

La prima versione alfa del ramo 3.23.x è stata pubblicata nel luglio 1999. La prima versione di produzione è del gennaio 2001. Nelle versioni 3.23.x sono stati aggiunti i tipi di tabella MyISAM (che rimpiazza il vecchio Isam), HEAP (ora MEMORY), InnoDB e BDB. Inoltre sono state aggiunte la ricerca full text e la replica dei database.

4.0

Nell'ottobre 2001 è stata pubblicata la prima versione alfa del ramo 4.0.x, mentre nel marzo 2003 è entrata in produzione. Le aggiunte più significative sono:

una cache per le query

le query di tipo UNION

DELETE multitabella

migliorate le tabelle Merge affinché supportino le INSERT e i campi autoincrementanti

limitazione delle risorse utilizzabili da ogni singolo utente

variabili d'ambiente reimpostabili con il comando SET

una libreria per incorporare le funzioni di MySQL in un altro programma

4.1

La prima versione del ramo 4.1.x risale all'aprile 2003, mentre nell'ottobre del 2004 è entrato in produzione. Le aggiunte più significative sono:

le Subquery. Queste sono delle query SQL nidificate. Si ha dunque la possibilità di scrivere:

Dati geografici memorizzati secondo il modello OpenGIS;

I Prepared Statements;

Le connessioni SSL/TLS;

Set di caratteri impostabili a livello di database, tabella e colonna; aggiunto il supporto per Unicode (UTF8 e UCS2);

Commenti a livello di colonna.

5.0

Il 22 dicembre 2003 viene pubblicata la prima versione della serie 5.0, che è entrata in produzione il 19 ottobre 2005. Le aggiunte più significative sono:

Le viste, tabelle virtuali ricavate da una query SQL, aggiornabili quando possibile;

Le stored procedure, un vero e proprio linguaggio di programmazione per interagire con i dati del database. Oltre ai soliti parametri di ricerca e selezione è possibile inserire costrutti [IF... THEN... ELSE], tanto per fare un esempio;

I trigger, istruzioni SQL che vengono lanciate automaticamente prima o dopo l'esecuzione di determinate query su determinate tabelle

INFORMATION_SCHEMA, un database virtuale che descrive la struttura di tutti gli altri database; inoltre i comandi SHOW, che anch'essi restituiscono informazioni sulla struttura dei database, sono stati potenziati;

Il tipo di dati BIT;

Gestione appropriata del fuso orario (timezone);

I tipi di tabella Archive e Federated;

Un'API ben strutturata per sviluppare nuovi tipi di tabelle.

Video: MEC - MySQL books database conclusion and recap — Sescott10 (talk) — CC BY-SA 4.0 — Wikimedia Commons

Servizi correlati

Altre voci

Joomla!J

Joomla!

Joomla! (IPA: /ˈdʒuːm.lɑː/) è un content management system (CMS) per la realizzazione di siti web, scritta in linguaggio PHP e pubblicata con licenza libera GNU GPL v2. Nato nel settembre 2005 da una scissione (fork) dal codice del CMS Mambo, è attualmente in rapido sviluppo, sotto la guida di…

Leggi la voce →
G

Geospatial Content Management System

Un Geospatial Content Management System (GeoCMS) è un gestore dei contenuti (CMS) dove gli oggetti, quali utenti, immagini, articoli, blog, possono avere una posizione geografica (latitudine e longitudine) ed essere mostrati su una carta geografica interattiva. Inoltre le mappe contengono…

Leggi la voce →
B

Blu

Il blu è uno dei tre colori primari nei modelli di colore RYB e RGB, classificato come "colore freddo". Il suo colore complementare è l'arancione.

Leggi la voce →
S

Scalable Vector Graphics

Scalable Vector Graphics (SVG) è un formato di file di grafica vettoriale bidimensionale basato sull'XML sviluppato da World Wide Web Consortium. Le immagini SVG possono essere incluse all'interno di una pagina HTML. Possono essere inoltre distribuite in versione compressa utilizzando…

Leggi la voce →
G

Gmail

Gmail è un servizio gratuito privato di posta elettronica fornito da Google, che con i suoi 1,8 miliardi di utenti risulta il più grande al mondo. È possibile accedervi via web o tramite applicazioni che usano il protocollo IMAP o le API Google.

Leggi la voce →
W

World Wide Web

Il World Wide Web (termine in lingua inglese traducibile in italiano come "rete di ampiezza mondiale" o "rete mondiale"), abbreviato web, WWW o W3, è uno dei principali servizi di Internet, che permette di navigare e usufruire di un insieme molto vasto di contenuti, multimediali e non,…

Leggi la voce →