Passaggio a MySQL 8 su tutti i server SiteGround
Indice
Alcune settimane fa abbiamo avviato l’aggiornamento a MySQL 8 sui nostri server. Questo è stato il risultato di un lungo processo di monitoraggio e test della compatibilità di questa versione con i siti dei nostri clienti, fino a quando non abbiamo concluso che MySQL 8 è altamente compatibile con le principali applicazioni ospitate sulla nostra piattaforma.
MySQL è un software fondamentale nel nostro stack, utilizzato dalla maggior parte dei nostri clienti per potenziare i propri database. Il suo funzionamento ottimale ha un grande impatto sulle prestazioni e sulla disponibilità complessive del sito web. Ecco perché il team di SiteGround dedica molte risorse per ottimizzare e personalizzare il nostro MySQL, puntando sempre a ottenere prestazioni migliori. Per raggiungere questo obiettivo, nel corso degli anni abbiamo introdotto varie personalizzazioni come la nostra esclusiva configurazione MySQL e pianifichiamo e testiamo attentamente qualsiasi nuovo aggiornamento della versione MySQL, assicurandoci che i vantaggi superino i potenziali danni che tale aggiornamento potrebbe comportare. Ora siamo certi che MySQL 8 sia ampiamente compatibile e che i nostri clienti possano trarre vantaggio in tutta sicurezza dalle prestazioni migliorate del database, dalla scalabilità e dalle ottimizzazioni di codifica che ne derivano.
Qual è il piano per l’aggiornamento MySQL?
Innanzitutto, vorremmo annunciare che tutti i nuovi siti creati sui nostri server condivisi e tutti gli account cloud appena creati ora vengono forniti con MySQL 8 di default.
In secondo luogo, è attualmente in corso il processo di migrazione a MySQL 8 dei siti condivisi esistenti. Una volta aggiornati i nostri server condivisi, inizieremo ad aggiornare anche le istanze Cloud. Il processo proseguirà nei prossimi mesi. Secondo il nostro programma, prevediamo di migrare tutti i nostri clienti a MySQL 8 entro la fine di giugno di quest’anno.
Per rendere la transizione il più semplice e agevole possibile, ti invieremo una email con almeno una settimana di anticipo per informarti in quali date esatte aggiorneremo il tuo sito web a MySQL 8. La procedura di aggiornamento viene eseguita a tarda notte quando il traffico verso il server è minimo. Potrebbe verificarsi una breve interruzione del servizio durante l’aggiornamento del software. Non è richiesta alcuna azione da parte tua in relazione alla migrazione.
Cosa c’è di nuovo in MySQL 8?
MySQL 8 introduce una varietà di nuove funzionalità e miglioramenti di vecchie funzionalità, tutti mirati a migliorare le prestazioni e la scalabilità complessive, nonché l’esperienza degli sviluppatori. Ecco alcuni dei più importanti.
Migliori prestazioni e scalabilità
MySQL 8 offre prestazioni e scalabilità migliori. I test di benchmark mostrano risultati migliori sia in termini di prestazioni che di scalabilità per MySQL 8 rispetto a MySQL 5.7. I test mostrano che MySQL 8 gestisce le operazioni di lettura/scrittura molto meglio e il numero di transazioni elaborate è molto più elevato.
Inoltre, i test mostrano che MySQL 8 utilizza l’hardware molto meglio rispetto a 5.7.
Ecco alcuni dei miglioramenti che lo rendono possibile:
- Scalabilità dei carichi di lavoro di lettura/scrittura
MySQL 8 mostra prestazioni migliori in caso di lettura/scrittura intensiva e si osservano prestazioni più di 2 volte migliori con carichi elevati rispetto a MySQL 5.7.
- Migliori prestazioni con carichi ad alto conflitto
Le prestazioni per i carichi di lavoro ad alto conflitto sono state notevolmente migliorate in MySQL 8. Un carico di lavoro ad alto conflitto si verifica quando più transazioni sono in attesa di un blocco sulla stessa riga in una tabella, causando code di transazioni in attesa.
In MySQL 8, questi burst vengono gestiti molto meglio in termini di transazioni al secondo e latenza. Ciò porta ad un migliore utilizzo dell’hardware (efficienza), poiché il sistema necessita di meno risorse di riserva e può quindi funzionare con un carico medio più elevato.
- Partizionamento nativo/miglioramento del pool InnoDB
MySQL 8 supporta il partizionamento nativo per il motore InnoDB. Ciò ti consente di dividere tabelle di grandi dimensioni in partizioni più piccole. Ciò può migliorare le prestazioni delle query e ridurre i requisiti di archiviazione, soprattutto per le tabelle di grandi dimensioni. La nuova versione di MySQL introduce anche miglioramenti al pool InnoDB. Il pool è responsabile della memorizzazione nella cache dei dati e della riduzione delle operazioni di I/O.
Common table expressions (CTE)
Con l’ultima versione di MySQL 8, ora puoi sfruttare anche i vantaggi delle espressioni di tabella più comuni. Un’espressione di tabella comune (CTE) è un set di risultati che esiste solo temporaneamente durante l’esecuzione di un’istruzione che può essere successivamente utilizzata nella stessa istruzione.
Queste CTE consentono di creare query più complesse utilizzando blocchi più semplici, basati su tabelle temporanee. In altre parole, le espressioni di tabella comuni consentono l’utilizzo di set di risultati temporanei denominati.
Modifica del carattere predefinito
Il carattere predefinito in MySQL 8 viene modificato in utf8mb4.
Una delle differenze più notevoli tra utf8, utf8mb3 e utf8mb4 è il numero massimo di byte per carattere. Mentre utf8 e utf8mb3 possono memorizzare caratteri solo nel BMP (Basic Multilingual Plane) di Unicode, utf8mb4 può memorizzare caratteri nel piano supplementare. utf8mb4 supporta un’ampia gamma di caratteri, inclusi emoji e altri caratteri speciali.
Indici invisibili
Un’altra nuova funzionalità di MySQL 8 sono gli indici invisibili. In genere, gli indici vengono utilizzati da MySQL Query Optimizer per migliorare la velocità con cui i dati vengono recuperati, mentre gli indici invisibili sono quelli nascosti da MySQL Query Optimizer e consentono di testare la rimozione di un indice sulle prestazioni della query, senza effettuare alcuna verifica. cambiamento distruttivo.
Ad esempio, se stai lavorando con una tabella molto grande con pochi indici e desideri ottimizzarla ulteriormente rimuovendo determinati indici e aggiungendone di nuovi. Immagina di sapere che avrai bisogno di questi indici in futuro. Rimuoverli inizialmente potrebbe essere pericoloso, perché ricostruirli successivamente richiede molte risorse. Per evitare ciò, ora puoi semplicemente utilizzare indici invisibili: rendi invisibili alcuni di quelli esistenti, testa tutto ciò di cui hai bisogno con quelli nuovi e poi riportali indietro, quando necessario, rendendoli nuovamente visibili.
Perché ora è il momento giusto per migrare?
Poiché MySQL è una tecnologia così fondamentale, gli aggiornamenti importanti avvengono raramente e richiedono molto tempo per essere adottati universalmente. MySQL 8 è stato rilasciato per la prima volta nel 2018, ma ci sono voluti diversi anni prima che la maggior parte dei siti e le relative applicazioni diventassero compatibili con esso. Abbiamo monitorato costantemente il livello di compatibilità e abbiamo scelto l’orario di aggiornamento attuale, poiché abbiamo visto che ora il rischio di avere un impatto negativo su un sito web con l’aggiornamento è notevolmente diminuito. Da quando l’aggiornamento è iniziato qualche settimana fa, abbiamo già spostato centinaia di migliaia di siti su MySQL 8.
Grazie! Il tuo commento è trattenuto per moderazione e verrà pubblicato a breve, se correlato a questo articolo del blog. I commenti con richieste di assistenza o risoluzione problemi non verranno pubblicati. In tal caso, ti preghiamo di segnalarli tramite
Inizia la discussione
Grazie! Il tuo commento è trattenuto per moderazione e verrà pubblicato a breve, se correlato a questo articolo del blog. I commenti con richieste di assistenza o risoluzione problemi non verranno pubblicati. In tal caso, ti preghiamo di segnalarli tramite