MySQL: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m smistamento lavoro sporco e fix vari |
m Corretto uso di virgole, parentesi e trattini alla moda anglosassone, ristrutturati alcuni periodi. Eliminate D eufoniche non necessarie. Apposti alcuni template CHIARIRE. |
||
Riga 23:
|accesso=22 giugno 2014
|lingua=en
}}</ref> è un [[Relational database management system]] (RDBMS) composto da un [[client]] a [[riga di comando]] e un [[server]]. Entrambi i software sono disponibili sia per sistemi [[Unix]] e [[Unix-like]]
MySQL è un [[software libero]] rilasciato a doppia licenza, compresa la [[GNU General Public License]], ed è sviluppato per essere il più possibile conforme agli standard ANSI [[SQL]] e ODBC SQL.<ref>
{{cita web
|titolo=Commercial License for OEMs, ISVs and VARs
Riga 85:
== 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 (informatica)|licenza]] commerciale. Fino alla versione 4.0, una buona parte del codice del client era licenziato con la [[GNU LGPL]] e
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 [http://www.mysql.com/products/enterprise/ 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,<ref name=autogenerato1>{{en}} [http://www.sun.com/aboutsun/pr/2008-01/sunflash.20080116.1.xml Sun Microsystems Announces Agreement to Acquire MYSQL]</ref> stimando il mercato del database in 15 miliardi di [[dollaro|dollari]].
Il 20 aprile 2009 alla stessa Sun Microsystems è stata proposta l'acquisizione da parte di [[Oracle Corporation|Oracle]] per 7,4 miliardi di dollari. L'accordo, approvato dall'antitrust USA, è poi passato al vaglio degli organi corrispondenti dell'Unione Europea, preoccupati
Il ramo 5.5 è il primo a includere estensioni non Open Source, disponibili solo nella versione Enterprise
A partire dal 2012
== Sviluppo ==
Fino a {{Chiarire|qualche anno fa|sostituire il riferimento relativo con uno assoluto}} 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
== Versioni ==
===3.23===
La prima versione alfa del ramo 3.23.x è stata rilasciata nel luglio 1999. La prima {{Chiarire|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 fulltext]] e la replica dei database.
===4.0===
Nell'ottobre 2001 è stata rilasciata 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
* limitazione delle risorse utilizzabili da ogni singolo utente
* variabili d'ambiente reimpostabili con il comando SET
Line 116 ⟶ 112:
===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:
<source lang=sql>SELECT * FROM tabella1 WHERE colonna1 = (SELECT colonna1 FROM tabella2 LIMIT 1)</source>
Line 127 ⟶ 122:
===5.0===
Il 22 dicembre [[2003]] viene rilasciata la prima versione della serie 5.0, che è entrata in produzione il 19 ottobre [[2005]]. Le aggiunte più significative sono:
* Le [[Vista (modello relazionale)|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;
Line 139 ⟶ 133:
===5.1===
La prima versione [[Versione alpha|alfa]] pubblica è uscita il 29 novembre [[2005]]. Le principali nuove caratteristiche sono:
* Il partizionamento delle tabelle;
* Un'[[Application Programming Interface|API]] per scrivere nuovi [[parser]] per le ''ricerche FULLTEXT'';
Line 155 ⟶ 149:
===5.4===
Si tratta del primo ramo sviluppato sotto l'egida della Sun,
===5.5===
Line 162 ⟶ 156:
* La '''replicazione semisincrona''' fornisce una maggiore garanzia sui dati poiché il commit sulla base dati Master attende che almeno uno Slave abbia ricevuto le modifiche;
* Viene introdotto il '''Performance Schema''' che contiene numerose viste utili per il tuning della base dati;
* L'Engine '''InnoDB''' diventa il default,
===5.6===
È l'ultima versione rilasciata in produzione. Sono molte, di cui alcune molto attese, le nuove funzionalità della versione 5.6:
* La gestione dei microsecondi e dei millisecondi nei datatype temporali e nei timestamp;
* La possibilità di controllare i dati della Host Cache
* Nuove viste, utili per il monitoraggio ed il tuning della base dati, nel Performance Schema e nell'Information Schema;
* La possibilità di escludere alcune directory dalla ricerca come nome di database;
Line 208 ⟶ 201:
{{vedi anche|MySQL Manager}}
[[File:PhpMyAdmin-main-it.png|thumb|Pagina iniziale di [[phpMyAdmin]]|300px]]
Esistono diversi tipi di [[MySQL Manager]], ovvero di strumenti per l'amministrazione di MySQL. Uno dei programmi più popolari per amministrare i database MySQL è [[phpMyAdmin]] che richiede un [[web server|server web]] come [[Apache HTTP Server]] e il supporto del linguaggio [[PHP]]. Si può utilizzare facilmente tramite un qualsiasi [[browser]].
Alcune offerte di terze parti sono [[HeidiSQL]], [[SQLYog]] o [[Toad for MySQL]]. In alternativa la stessa MySQL AB offre programmi quali [[MySQL Administrator]] (amministrazione del database, degli utenti, operazioni pianificate, carico del server, ...) e [[MySQL Query Browser]] (esecuzione di svariati tipi di query), [[MySQL Migration Toolkit]] per importare da altri DBMS.
Per
In passato veniva sviluppato anche [[MySQLcc]] (MySQL control center), sostituito da [[MySQL Query Browser]].
Line 261 ⟶ 253:
==Fork==
Alcuni [[Fork (sviluppo software)|fork]] sono nati in critica verso la poca apertura di MySQL ai contributi dei volontari esterni e la lentezza della pubblicazione dei fix dei [[bug]]
===Drizzle===
{{vedi anche|Drizzle}}
Nato da Brian Aker tra l'aprile e il maggio del 2008, questo fork si propone come un DBMS leggero. Infatti
Durante il processo di pulizia il codice è arrivato a dimensioni inferiori ai 200 KB.{{Senza fonte}} Tra le funzionalità eliminate vi sono: stored procedure, viste, trigger, prepared statement, cache, MyISAM. Secondo gli sviluppatori
===MariaDB===
{{vedi anche|MariaDB}}
Questo fork è stato creato da Monty Widenius nel 2009 dopo la sua fuoriuscita dalla Sun Microsystems, uscita dovuta
Il nome MariaDB è dovuto al fatto che inizialmente questo fork si focalizzava soprattutto sullo sviluppo dello storage engine Aria,
Sono state incluse patch realizzate da terze parti, in particolare prelevate dai fork di MySQL sviluppati da Google, Facebook e Twitter, nonché storage engine sviluppati da terze parti. Inoltre altre migliorie al server e alcuni storage engine aggiuntivi sono stati sviluppate appositamente, alcune evoluzioni sviluppate per MySQL sono state importate nel fork e alcuni bug presenti nel programma originale sono stati corretti.
Line 291 ⟶ 283:
Il fork nacque dalla constatazione che MySQL Community Edition era quasi defunto: secondo i contestatori, gli annunci ufficiali prospettavano solo due release annuali più qualche security fix, e dunque un utente avrebbe dovuto utilizzare MySQL Enterprise Edition, oppure rassegnarsi ad utilizzare prodotti superati.<ref>[http://www.mysqlperformanceblog.com/2008/07/01/should-we-proclaim-mysql-community-edition-dead/ Should we proclaim MySQL Community Edition Dead ? - MySQL Performance Blog<!-- Titolo generato automaticamente -->]</ref>
Il repository contiene le versioni,
== Note ==
|