Usare gruppi di disponibilità Always On con scalabilità in lettura

Si applica a:SQL Server

Un gruppo di disponibilità è una soluzione completa che offre funzionalità a disponibilità elevata per SQL Server e anche soluzioni di scalabilità integrate. In un'applicazione di database tipica, diversi client eseguono vari tipi di carichi di lavoro. In alcuni casi a causa dei vincoli di risorse possono verificarsi dei colli di bottiglia.

Nel contesto di un gruppo di disponibilità, per scalabilità in lettura si intende la ripartizione dei carichi di lavoro di lettura a una o più repliche secondarie. È possibile liberare risorse e ottenere una velocità effettiva maggiore per il carico di lavoro OLTP. È anche possibile offrire migliori prestazioni e maggior scalabilità per i carichi di lavoro di sola lettura. Sfruttare la tecnologia di replica più veloce per SQL Server, creando un gruppo di database replicati per allocare i carichi di lavoro di creazione report e analisi alle repliche di sola lettura.

Con i gruppi di disponibilità è possibile configurare una o più repliche secondarie per supportare l'accesso in sola lettura ai database secondari.

Le applicazioni client che eseguono carichi di lavoro di analisi e report possono connettersi direttamente ai database secondari. È anche possibile impostare un elenco di routing di sola lettura e collegarlo al database primario. La richiesta di connessione viene inoltrata a ogni replica secondaria dell'elenco di routing in base a uno schema round-robin.

Gruppi di disponibilità con scalabilità in lettura senza cluster

In SQL Server 2016 (13.x) e versioni precedenti tutti i gruppi di disponibilità richiedevano un cluster. Il cluster garantiva una continuità operativa per disponibilità elevata e ripristino di emergenza (HADR). Le repliche secondarie venivano anche configurate per le operazioni di lettura. Se l'obiettivo non era la disponibilità elevata la configurazione e gestione di un cluster comportava un notevole sovraccarico operativo. SQL Server 2017 (14.x) introduce i gruppi di disponibilità con scalabilità in lettura senza cluster.

Nota

Nei gruppi di disponibilità che non usano Windows Server Failover Clustering (WSFC), ad esempio gruppi di disponibilità con scalabilità in lettura o gruppi di disponibilità in Linux, le colonne nelle DMV dei gruppi di disponibilità correlate al cluster potrebbero visualizzare i dati relativi a un cluster predefinito interno. Queste colonne sono solo per uso interno e possono essere ignorate.

Se i requisiti operativi prevedono di risparmiare risorse orientandole sui carichi di lavoro di importanza critica in esecuzione nella replica primaria, ora è possibile usare il routing di sola lettura o connettersi direttamente a repliche secondarie leggibili. Non più necessario dipendere dall'integrazione con le tecnologie di clustering. Queste nuove funzionalità sono disponibili per SQL Server 2017 (14.x) in esecuzione su piattaforme Windows e Linux.

Importante

Non si tratta di un'installazione a disponibilità elevata. Non ci sono infrastrutture per monitorare e coordinare il rilevamento degli errori e il failover automatico. Senza cluster, SQL Server non può offrire l'obiettivo di tempo di ripristino ridotto (RTO, Recovery Time Objective) garantito da una soluzione a disponibilità elevata automatica. Se sono necessarie funzionalità di disponibilità elevata, usare un modulo di gestione cluster (cluster di failover in Windows Server o Pacemaker in Linux).

Il gruppo di disponibilità per la scalabilità in lettura può offrire funzionalità di ripristino di emergenza. Quando le repliche di sola lettura si trovano in modalità con commit sincrono garantiscono un obiettivo del punto di ripristino (RPO, Recovery Point Objective) pari a zero. Per eseguire il failover di un gruppo di disponibilità per la scalabilità in lettura, vedere Fail over the primary replica on a read-scale availability group (Eseguire il failover della replica primaria in un gruppo di disponibilità per scalabilità in lettura).

Usare gruppi di disponibilità distribuiti per la scalabilità in lettura a livello geografico

Soluzioni separate geograficamente possono implementare soluzioni con scalabilità in lettura con gruppi di disponibilità distribuiti. È possibile usarle per ripartire i carichi di lavoro di lettura dalla replica primaria alle repliche secondarie leggibili nei siti più vicini all'origine dei carichi di lavoro di lettura. I gruppi di disponibilità distribuiti riducono l'uso di risorse nella replica primaria. Incrementano anche la velocità effettiva di lettura riducendo la latenza di rete e sfruttando risorse dedicate.

Un singolo gruppo di disponibilità distribuito può avere fino a 17 repliche secondarie leggibili. Per accrescere la capacità di scalabilità, è possibile connettere a cascata più gruppi di disponibilità per aumentare ulteriormente il numero di repliche leggibili. È anche possibile implementare due gruppi di disponibilità distribuiti dallo stesso gruppo di disponibilità per letture a bassa latenza in ambienti dislocati in località geografiche diverse.