Modalità di funzionamento di Database di Azure per MySQL
In questa unità viene illustrato il funzionamento di Database di Azure per MySQL, a partire dall’architettura. Si apprenderà anche come il servizio offre disponibilità elevata, funzionalità di backup e ridimensionamento per soddisfare le esigenze del carico di lavoro.
Architettura di Database di Azure per MySQL
Il diagramma seguente descrive l'architettura di un'istanza del server flessibile di Database di Azure per MySQL.
- L'istanza di MySQL viene eseguita in una macchina virtuale di Azure.
- I dati e i log vengono archiviati in Archiviazione Premium di Azure.
- I dati vengono replicati tre volte nell'archiviazione con ridondanza locale per il backup e la resilienza. Il servizio offre anche opzioni per configurare i backup di archiviazione con ridondanza della zona o con ridondanza geografica.
- Inoltre, è possibile coordinare la localizzazione delle varie app client connesse al server flessibile MySQL all'interno della stessa zona di disponibilità.
È possibile acconsentire esplicitamente alla disponibilità elevata con la stessa zona o ridondanza della stessa zona, che effettua automaticamente il provisioning e la gestione di una replica di standby.
Modalità di funzionamento della disponibilità elevata
Per il server flessibile di Database di Azure per MySQL, all'interno della singola zona di disponibilità, dopo un errore del server di hosting si verifica il processo seguente:
- Azure effettua il provisioning di una nuova macchina virtuale.
- Azure esegue il mapping delle risorse di archiviazione e dei file di dati alla nuova macchina virtuale di cui è stato effettuato il provisioning.
- Il motore di database MySQL viene portato online.
- Le applicazioni client si riconnettono alla nuova istanza di MySQL.
Nota
Se è stato effettuato il provisioning della disponibilità elevata tra zone, un server hot standby si trova in un'altra zona di disponibilità nella stessa area di Azure. Questo server è una replica completamente sincronizzata del server primario. In caso di errore del server primario, il server hot standby può assumere rapidamente il controllo con un'interruzione minima, mantenendo così la disponibilità del servizio.
Modalità di funzionamento dei backup
È possibile usare i backup per ripristinare il server in qualsiasi momento entro il periodo di conservazione (35 giorni o fino a 10 anni con conservazione a lungo termine, in anteprima).
Modalità di funzionamento del ridimensionamento
Il ridimensionamento in Database di Azure per MySQL comporta la regolazione delle risorse di calcolo in base alle esigenze dell'applicazione, che possono variare in base alla domanda dell'utente, alla complessità delle operazioni elaborate o ad altri fattori come la crescita aziendale. Questa flessibilità è fondamentale per mantenere prestazioni ottimali ed efficienza dei costi.
Tipi di scalabilità
-
Scalabilità verticale (aumento e riduzione delle prestazioni)
-
Ridimensionamento delle risorse di calcolo: Si riferisce alla modifica del livello di calcolo del Server flessibile MySQL. Azure offre diversi livelli di calcolo, ognuno progettato per soddisfare diversi tipi di carichi di lavoro:
- Possibilità di burst: Adatto per ambienti con burst intermittenti di utilizzo della CPU che non richiedono prestazioni della CPU continue.
- Utilizzo generico: Progettato per un'ampia gamma di applicazioni, offrendo un equilibrio tra risorse di calcolo, memoria e I/O.
- Business Critical: Offre le prestazioni più elevate per i database, con CPU più potenti e operazioni di I/O più veloci, adatto per carichi di lavoro a bassa latenza e transazioni elevate.
- Allocazione di memoria e CPU: A seconda del livello selezionato, è possibile ridimensionare il numero di vCore e la quantità di RAM disponibile per il database, influendo direttamente sulla possibilità di gestire query più grandi o più complesse e permette un numero maggiore di connessioni simultanee.
-
Ridimensionamento delle risorse di calcolo: Si riferisce alla modifica del livello di calcolo del Server flessibile MySQL. Azure offre diversi livelli di calcolo, ognuno progettato per soddisfare diversi tipi di carichi di lavoro:
-
Scalabilità orizzontale
- Database di Azure per MySQL può essere ridimensionato orizzontalmente aggiungendo repliche in lettura per distribuire il traffico di lettura tra più server, migliorando le prestazioni di lettura mentre si mantiene il server primario disponibile per le scritture. La scalabilità orizzontale consente al database di gestire un carico di query maggiore, aumentando la velocità di risposta dell'applicazione.
-
Ridimensionamento dell'archiviazione
- Scalabilità dell'archiviazione dinamica: Con Database di Azure per MySQL è possibile aumentare la capacità di archiviazione senza tempi di inattività. È possibile iniziare con un'allocazione più piccola e aumentare le prestazioni man mano che aumentano i dati.
- Funzionalità di aumento automatico: Questa funzionalità aumenta automaticamente le dimensioni di archiviazione prima di raggiungere il limite di capacità, impedendo così eventuali interruzioni legate a vincoli di archiviazione.
Operazioni IOPS con scalabilità automatica
La scalabilità automatica delle operazioni di I/O al secondo (operazioni di input/output al secondo) è una funzionalità che regola dinamicamente la velocità effettiva di I/O in base al carico di lavoro corrente. Ciò è particolarmente utile per modelli di carico di lavoro imprevedibili o soggetti a picchi, in quanto garantisce che il database possa gestire aumenti improvvisi di carico senza intervento manuale.
- Ridimensionamento delle operazioni di I/O al secondo in base al carico: Quando il carico di lavoro aumenta ed è necessaria una maggiore velocità effettiva di I/O, la funzionalità di scalabilità automatica aumenta automaticamente il limite di operazioni di I/O al valore massimo consentito nel livello di calcolo scelto. Al contrario, le operazioni di I/O al secondo (IOPS) sono ridotte durante i periodi di bassa attività per ridurre al minimo i costi.
- Convenienza: Modificando automaticamente le operazioni di I/O al secondo in base all'utilizzo effettivo, si paga solo per le operazioni di I/O al secondo usate anziché per il provisioning in eccesso delle risorse per gestire i carichi di picco, che potrebbero verificarsi solo sporadicamente.
Procedure consigliate per il ridimensionamento
Per ridimensionare in modo efficace Database di Azure per MySQL, monitorare le metriche delle prestazioni usando Monitoraggio di Azure, configurare avvisi critici, pianificare la crescita futura esaminando i modelli di utilizzo e testare la scalabilità durante le ore di minore attività per garantire prestazioni uniformi in caso di aumento del carico.
Comprendendo e usando questi meccanismi di ridimensionamento, ci si assicura che il server flessibile di Database di Azure per MySQL si esegua sempre in modo efficiente, adattandosi alle esigenze attuali e future dell'azienda.
Configurare e ottimizzare il comportamento del motore
Per configurare e personalizzare con facilità variabili e parametri del server in Database di Azure per MySQL, è possibile usare il portale di Azure, l'interfaccia della riga di comando di Azure o l'API REST per modificare le impostazioni, ad esempio le dimensioni della cache della query, i timeout di connessione e le preferenze del motore di archiviazione, garantendo prestazioni e comportamenti ottimali per il carico di lavoro specifico.
Successivamente, valutare se Database di Azure per MySQL soddisfa le esigenze dell'organizzazione, le sue app e i carichi di lavoro del database.