MySQL: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Forzare ad avere una sola riga altrimenti possono accadere artefatti |
Screenshot; Molte più fonti e citazioni; Messa in ordine; Rimozione paragrafo storico privo di fonte |
||
Riga 3:
|Logo =
|DimensioneLogo = 150px
|Screenshot = Screenshot-mysql-client-text-debian.png
|Didascalia = Client MySQL a riga di comando (in Debian).
|Sviluppatore = [[Oracle Corporation]]
|UltimaVersione = 5.6.
{{cita web
|DataUltimaVersione = {{Data e tempo|5|2|2013}}▼
|titolo=Download MySQL Community Server
|UltimaVersioneBeta = ▼
|url=http://dev.mysql.com/downloads/mysql/
|editore=[[Oracle Corporation]]
|accesso=22 giugno 2014
|lingua=en
}}</ref>
▲|UltimaVersioneBeta = 5.7.4<ref name="download" />
|DataUltimaVersioneBeta =
|SistemaOperativo = Multipiattaforma
|Linguaggio = C
|Linguaggio2 = C++
|Genere = relational database management system
|Licenza = [[GNU General Public License|GNU GPL]]
|SoftwareLibero = sì
|Lingua =
|SitoWeb = http://www.mysql.com
}}
'''MySQL''' o '''Oracle MySQL''' (/maɪ ˌɛskjuːˈɛl/ "My S-Q-L")<ref>
'''MySQL''', definito '''Oracle MySQL''', è un [[Relational database management system]] (''RDBMS''), composto da un [[client]] con [[interfaccia (informatica)|interfaccia]] a [[riga di comando]] e un [[server]], entrambi disponibili sia per sistemi [[Unix]] o [[Unix-like]] come [[GNU/Linux]] che per [[Microsoft Windows|Windows]], anche se prevale un suo utilizzo in ambito Unix.▼
{{cita web
|titolo=What is MySQL?
|url=http://dev.mysql.com/doc/refman/5.7/en/what-is-mysql.html
|editore=[[Oracle Corporation]]
|citazione=The official way to pronounce “MySQL” is “My Ess Que Ell” (not “my sequel”), but we do not mind if you pronounce it as “my sequel” or in some other localized way.
|accesso=22 giugno 2014
|lingua=en
▲
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
|url=http://www.mysql.com/about/legal/licensing/oem/
|editore=[[Oracle Corporation]]
|citazione=Oracle provides its MySQL database server and MySQL Client Libraries under a dual license model designed to meet the development and distribution needs of both commercial distributors (such as OEMs, ISVs and VARs) and open source projects.
|accesso=22 giugno 2014
|lingua=en
}}</ref><ref>
{{cita web
|titolo=MySQL Standards Compliance
|url=http://www.radionomy.com/en/radio/abc-jazz/
|editore=[[Oracle Corporation]]
|citazione=One of our main goals with the product is to continue to work toward compliance with the SQL standard, but without sacrificing speed or reliability.
|accesso=22 giugno 2014
|lingua=en
}}
</ref>
<ref>
{{cita web
|titolo=MySQL Differences from Standard SQL
|url=http://dev.mysql.com/doc/refman/5.7/en/differences-from-ansi.html
|editore=[[Oracle Corporation]]
|citazione=We try to make MySQL Server follow the ANSI SQL standard and the ODBC SQL standard, but MySQL Server performs operations differently in some cases
|accesso=22 giugno 2014
|lingua=en
}}
</ref>
I sistemi e i linguaggi di programmazione che supportano MySQL sono molto numerosi: [[ODBC]], [[Java (linguaggio)|Java]], [[Mono (progetto)|Mono]], [[.NET]], [[PHP]], [[Python]] e molti altri.
Le piattaforme [[LAMP (piattaforma)|LAMP]] e [[WAMP (piattaforma)|WAMP]] incorporano MySQL per l'implementazione di server per gestire [[sito web|siti web]] dinamici, inoltre molti dei [[Content Management System]] di successo come [[WordPress]], [[Joomla]] e [[Drupal]] nascono proprio con il supporto predefinito a MySQL.<ref>
{{cita web
|titolo=Wordpress > About
|editore=[[Wordpress]]
|url=http://wordpress.org/about/
|citazione=WordPress was born out of a desire for an elegant, well-architectured personal publishing system built on PHP and MySQL
|accesso=22 giugno 2014
|lingua=en
}}
</ref><ref>
{{cita web
|titolo=What is Joomla?
|editore=[[Joomla]]
|url=http://www.joomla.org/about-joomla.html
|citazione=Joomla is based on PHP and MySQL
|accesso=22 giugno 2014
|lingua=en
}}
</ref><ref>
{{cita web
|titolo=A proposito di Drupal
|editore=[[Drupal]]
|url=http://www.drupal.it/a_proposito_di_drupal
|citazione=Utilizza come base di dati MySQL e PostgreSQL in modo nativo ma è utilizzabile con ogni tipo di database server.
|accesso=22 giugno 2014
}}
</ref>
== 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 poteva dunque essere utilizzato anche per applicazioni proprietarie. Dalla versione 4.1 in poi, anche il codice del client è distribuito sotto GNU GPL. Esiste peraltro una [http://www.mysql.com/company/legal/licensing/foss-exception.html clausola estensiva] che consente l'utilizzo di MySQL con una vasta gamma di licenze libere.
Line 77 ⟶ 144:
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
*
*
*
*
*
===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:
*
*
*
* ''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;
*
*
*
*
===5.1===
La prima [[Versione alpha|alfa]] pubblica è uscita il 29 novembre [[2005]]. Le principali nuove caratteristiche sono:
*
*
*
*
*
*
*
* ClusterDB ora può scrivere i dati su disco, oltre che conservarli nella RAM; supporta inoltre [[MontaVista]];
* ALTER TABLE, CREATE INDEX e DROP INDEX sono molto più performanti.
===5.2===
Line 118 ⟶ 185:
Si tratta del primo ramo che è divenuto stabile sotto l'egida di Oracle.
La versione 5.5 introduce diverse nuove funzionalità:
* 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 e viene reso molto più performante e scalabile sui moderni processori multicore.
Line 125 ⟶ 192:
È 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 (ed i relativi errori)
* 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;
* L'utilizzo di ricerche testuali (FULLTEXT SEARCH) sull'Engine InnoDB;
* Un'interfaccia di tipo '''memcache''' su tabelle InnoDB;
* Molte utili estensioni che migliorano la sicurezza della base dati.
===5.7===
Line 160 ⟶ 227:
Esistono anche storage engine prodotti da terze parti. Eccone alcuni:
* [[XtraDB]] - Fork di InnoDB, sviluppato da Percona
* [[OQGRAPH]] - Simula strutture a [[grafo]]
* [http://dev.soliddb.com/ solidDB] - Motore transazionale
* [http://www.ritmark.com/ RitmarkFS] - Permette di accedere al filesystem in lettura e in scrittura tramite comandi SQL, supporta anche la replica del filesystem
* [http://ddengine.org/ Distributed Data Engine] - Motore per dati distribuiti, per gestire meglio il carico di lavoro
* [[Sphinx#API|SphinxSE]] - Interfaccia MySQL con Sphinx
* [[CassandraSE]] - Interfaccia MariaDB con Apache Cassandra
* [http://sourceforge.net/projects/mdbtools mdbtools] - Permette di leggere e scrivere un file .mdb (Access)
* [http://www.infobright.com/ BrightHouse] - Appare all'utilizzatore come un normale MyISAM, ma struttura internamente i dati per colonne anziché per righe. Da utilizzare tipicamente in lettura per Data Warehouse: riduce da 10 a 100 volte i tempi di accesso e lo spazio per i dati.
Alcuni di questi Storage Engine sono distribuiti con MariaDB o Percona Server.
Line 181 ⟶ 248:
== Compatibilità ==
MySQL, essendo scritto in [[C (linguaggio)|linguaggio C]] e [[C++]], è disponibile su molti differenti [[sistema operativo|sistemi operativi]] tra cui [[AIX (sistema operativo)|AIX]], AmigaOS, [[BSDi]], Digital Unix, [[FreeBSD]], [[HP-UX]], [[GNU/Linux]], [[Mac OS X]], [[NetBSD]], [[Novell NetWare]], [[OpenBSD]], [[OS/2]] Warp, [[Silicon Graphics|SGI]] [[IRIX]], [[Oracle Solaris (sistema operativo)|Solaris]], [[SunOS]], SCO OpenServer, SCO UnixWare, SGI Irix, [[Tru64]], [[Windows 95]], [[Windows 98]], [[Windows NT]], [[Windows 2000]], [[Windows XP]], [[Windows Server 2003|Windows 2003]], [[Windows Server 2008]], [[Windows Server 2008 R2]], [[Windows Vista]], [[Windows 7]], [[Windows 8]].<ref>
{{cita web
|titolo=The Main Features of MySQL
|url=http://dev.mysql.com/doc/refman/5.7/en/features.html
|editore=[[Oracle Corporation]]
|citazione=Written in C and C++
|accesso=29 giugno 2014
|lingua=en
}}
</ref>
Le piattaforme di riferimento sono Linux e Solaris. La documentazione di MySQL offre comunque un aiuto per chi avesse bisogno di provare a [[compilazione|compilare]] il software su qualsiasi sistema operativo discretamente diffuso.
|