Due delle più popolari piattaforme per la gestione dei database sono MySQL e SQL Server, che, fondamentalmente, sono simili fra loro nei processi di memorizzazione e recupero dati, perché entrambi basati sul linguaggio e logica SQL.
Queste soluzioni sono così diffuse, che anche qui alla centrale di Hosting Solutions si è deciso di corredare tutte le offerte hosting con entrambe le tipologie di piattaforme.
In realtà, al di là dei meri costi di licenza, MySQL e SQL Server presentano delle differenze di non poco conto, su cui devi riflettere in modo attento prima di decidere a quale dei due sistemi vuoi affidare i dati del tuo progetto.
Ecco qua un elenco di 6 differenze che potranno aiutarti a scegliere quale sia il migliore sistema di database per le tue esigenze.
MySQL e SQL Server, il principio è diverso!
La differenza fondamentale fra le due soluzioni è di principio: tecnologia open source a duello con tecnologia proprietaria. Per alcuni sviluppatori basta questa definizione per far pendere a favore di MySQL rispetto a SQL Server e non è solo una questione di mentalità o di abitudini lavorative, ma una vera e propria esigenza.
Con SQL Server si è costretti all’engine offerto da Microsoft, mentre con MySQL si può scegliere fra MyISAM, Heap, InnoDB e Berkeley DB. D’altra parte, vi sono anche delle differenze tecniche da valutare e chi decide per la soluzione open source sa che MySQL non supporta pienamente le chiavi esterne, a differenza del concorrente SQL Server.
MySQL non è sempre gratuito, ma è economico rispetto a SQL Server
L’unico modo di avere una licenza gratuita da sviluppatore di SQL Server è acquistare la licenza per Microsoft Office Developer o Microsoft Visual Studio. Se invece SQL Server viene usato in un prodotto commerciale, devi pagare una licenza che per la Standard Edition può arrivare a costare oltre 3000 dollari.
MySQL è un prodotto open source e gratuito per gli sviluppatori di progetti open source, per le scuole e per gli enti no-profit. Se invece lo usi in un prodotto commerciale closed source, allora devi acquistare una licenza commerciale che nella versione Standard può costare circa 2000 dollari.
Performance, MySQL batte SQL Server
In termini di performance, MySQL è il migliore perché ha un formato di tabelle che consente di avere database molto compatti su disco e una gestione dei cicli di CPU e di memoria davvero ottimale rispetto a SQL Server. MySQL può essere integrato e usato anche in ambienti Windows, ma offre le sue migliori performance su sistemi UNIX-like. Inoltre, MySQL garantisce performance superiori se utilizzato su processori che supportano le istruzioni a 64 bit.
La robustezza di SQL Server è anche la sua più grande debolezza in termini di performance, in quanto garantire molte delle caratteristiche offerte da SQL Server significa incorrere in maggiore complessità, in una maggiore necessità di spazio disco e memoria e, di conseguenza, in performance più scarse.
Replica, scalabilità e sicurezza: MySQL e SQL Server a pari merito
MySQL conserva un log binario di tutte le istruzioni SQL che apportano modifiche ai dati. La natura binaria di questo log, permette di usarlo per replicare i dati dal database master ai database slave in modo molto veloce. Così, anche se il server va in down, i record binari rimangono intatti e la replicazione dei dati può avvenire senza difficoltà.
Allo stesso modo, in SQL Server puoi tenere traccia delle istruzioni SQL, ma con un meccanismo più elaborato e un sistema di replicazione dati dinamico che permette di mantenere sincronizzati i vari server database.
Dal punto di vista della sicurezza, entrambi i prodotti hanno raggiunto standard molto elevati.
Recupero dati: SQL Server supera MySQL
L’ambito recovery è il più delicato per MySQL che richiede assolutamente l’uso di un UPS perché se dovesse andare in shut down il server in modo inaspettato, si potrebbe andare incontro a corruzione di dati o perdita degli stessi. SQL Server, per l’architettura su cui si basa, è molto più resistente alla corruzione dati.
SQL Server e MySQL, la scelta dipende dal progetto
Infine, la scelta fra una o l’altra tipologia di database dipende dal progetto. Se si ha in mente di sviluppare in .NET e in ambiente Windows, allora SQL Server è la scelta più corretta, ma se si usano CMS o si sviluppa in PHP su Linux, allora MySQL è l’opzione giusta.