Informazioni sull'iperscalabilità per i database SQL

Completato

Il database SQL di Azure è da anni limitato a 4 TB di spazio di archiviazione per database. Questa restrizione è dovuta a una limitazione fisica dell'infrastruttura di Azure. Il database SQL di Azure Hyperscale modifica il paradigma e consente di ottenere database di 100 TB o più. L’approccio Hyperscale introduce nuove tecniche di scalabilità orizzontale per aggiungere nodi di calcolo man mano che aumentano le dimensioni dei dati. Il costo di Hyperscale è identico a quello del database SQL di Azure, anche se esiste un costo per terabyte per l'archiviazione. Si noti che se un database SQL di Azure viene convertito in Hyperscale, non è possibile convertirlo di nuovo in un database SQL di Azure “regolare”. Hyperscale definisce la possibilità di ridimensionare un'architettura in modo appropriato in base alle esigenze.

Hyperscale per il database SQL di Azure è un'ottima opzione per la maggior parte dei carichi di lavoro aziendali poiché offre grande flessibilità e prestazioni elevate con risorse di calcolo e di archiviazione scalabili in modo indipendente.

Hyperscale separa il motore di elaborazione delle query, in cui la semantica dei vari motori di dati diverge, dai componenti che forniscono l'archiviazione e la durabilità a lungo termine dei dati. In questo modo la capacità di archiviazione può essere facilmente aumentata in base alle esigenze.

Il livello di servizio Hyperscale del database SQL di Azure è il livello di servizio più recente nel modello di acquisto basato su vCore. Questo livello di servizio è un livello altamente scalabile per le prestazioni di archiviazione e calcolo che sfrutta l'architettura di Azure per scalare orizzontalmente le risorse di archiviazione e di calcolo per un database SQL di Azure sostanzialmente oltre i limiti disponibili per i livelli di utilizzo generico e business critical.

Vantaggi

Il livello di servizio Hyperscale elimina molti dei limiti pratici che generalmente caratterizzano i database cloud. Se la maggior parte dei database sono limitati dalle risorse disponibili in un singolo nodo, i database nel livello di servizio Hyperscale non presentano limiti di questo tipo. Grazie all'architettura di archiviazione flessibile, lo spazio di archiviazione aumenta in base alle esigenze. I database Hyperscale, infatti, non vengono creati con una dimensione massima definita. Un database Hyperscale può espandersi in base alle esigenze e la fatturazione viene applicata solo in base alla capacità in uso. Per i carichi di lavoro intensi in termini di lettura, il livello di servizio Hyperscale consente una rapida scalabilità orizzontale effettuando il provisioning di repliche aggiuntive in base alle esigenze per l'offload dei carichi di lavoro di lettura.

Inoltre, il tempo necessario per creare i backup dei database oppure aumentare o diminuire le prestazioni non è più associato al volume dei dati presenti nel database. È possibile eseguire il backup dei database Hyperscale istantaneamente. È anche possibile ridimensionare un database aumentando o diminuendo la capacità di decine di terabyte in pochi minuti. Questa funzionalità consente di non essere vincolati alle scelte di configurazione iniziali. Hyperscale consente anche di ripristinare rapidamente i database, con tempi in minuti anziché in ore o giorni.

Hyperscale offre scalabilità rapida in base alle esigenze dei carichi di lavoro.

  • Aumento/diminuzione: è possibile aumentare le dimensioni di calcolo primarie in termini di risorse come CPU e memoria e quindi ridurle in un tempo costante. Poiché l'archiviazione è condivisa, l'aumento e la riduzione delle prestazioni non è collegato al volume di dati presenti nel database.

  • Scalabilità verticale/orizzontale: con il livello Hyperscale è anche possibile effettuare il provisioning di una o più repliche di calcolo aggiuntive, da usare per rispondere alle richieste di lettura. Ciò significa che è possibile usare tali repliche come repliche di sola lettura per l'offload del carico di lavoro di lettura dalle risorse di calcolo primarie. Oltre a essere usate per la sola lettura, le repliche fungono anche da hot standby in caso di failover dalle risorse primarie.

Il provisioning di ogni replica di calcolo aggiuntiva può essere effettuato in un tempo costante ed è un'operazione online. È possibile connettersi a repliche di calcolo di sola lettura impostando l'argomento ApplicationIntent della stringa di connessione su ReadOnly. Tutte le connessioni con finalità dell'applicazione ReadOnly vengono indirizzate automaticamente a una replica di calcolo di sola lettura aggiuntiva.

Hyperscale separa il motore di elaborazione delle query dai componenti che forniscono archiviazione e durabilità a lungo termine per i dati. Questa architettura consente di ridimensionare in modo uniforme la capacità di archiviazione per quanto necessario (l'obiettivo iniziale è 100 TB) e di ridimensionare rapidamente le risorse di calcolo.

Hyperscale Architecture

Considerazioni sulla sicurezza

La sicurezza per il livello di servizio Hyperscale condivide le stesse funzionalità degli altri livelli del database SQL di Azure. La protezione segue l'approccio a più livelli di difesa avanzata come illustrato nell'immagine seguente e si sposta dall'esterno in:

Hyperscale security

  • La sicurezza di rete è il primo livello di difesa e usa le regole del firewall IP per consentire l'accesso in base all'indirizzo IP di origine e le regole del firewall di rete virtuale per consentire la possibilità di accettare le comunicazioni inviate da subnet selezionate in una rete virtuale.

  • La gestione degli accessi viene fornita tramite i metodi di autenticazione seguenti per garantire l'identità dell'utente:

    • Autenticazione SQL
    • Autenticazione Microsoft Entra
    • Autenticazione Windows per le identità Microsoft Entra (anteprima)

    Hyperscale per il database SQL di Azure supporta anche la sicurezza a livello di riga. La sicurezza a livello di riga consente ai clienti di controllare l'accesso alle righe in una tabella del database in base alle caratteristiche dell'utente che esegue una query (ad esempio l'appartenenza al gruppo o il contesto di esecuzione).

    Row-Level Security

  • La protezione dalle minacce prevede funzioni di controllo e di rilevamento delle minacce. Il servizio di controllo del database SQL e di Istanza gestita di SQL tiene traccia delle attività del database per garantire la conformità agli standard di sicurezza tramite la registrazione degli eventi del database in un log di controllo in un account di archiviazione di Azure, di proprietà del cliente. La protezione avanzata dalla minacce può essere abilitata per ogni server con un costo aggiuntivo e analizza i log per rilevare comportamenti insoliti e tentativi potenzialmente dannosi di accesso ai database o di exploit. Vengono creati avvisi per attività sospette, ad esempio attacchi SQL injection, potenziali infiltrazioni di dati e attacchi di forza bruta, o per anomalie nei modelli di accesso per rilevare le escalation dei privilegi e l'uso delle credenziali violate.

  • La protezione delle informazioni viene implementata nei modi indicati di seguito.

    • Transport Layer Security (crittografia in transito)
    • Transparent Data Encryption (TDE - crittografia inattiva)
    • Gestione delle chiavi con Azure Key Vault
    • Always Encrypted (crittografia in uso)
    • Maschera dati dinamica

Considerazioni sulle prestazioni

Il livello di servizio Hyperscale è destinato ai clienti che hanno database di SQL Server locali di grandi dimensioni e vogliono modernizzare le proprie applicazioni passando al cloud oppure ai clienti che usano già il database SQL di Azure e vogliono espandere significativamente il potenziale di crescita del database. Il livello Hyperscale è destinato anche ai clienti che sono alla ricerca di livelli elevati di prestazioni e scalabilità.

Hyperscale offre le funzionalità per le prestazioni seguenti:

  • Backup dei database quasi immediati (basati su snapshot di file memorizzati in Archiviazione BLOB di Azure) indipendentemente dalle dimensioni e senza alcun impatto delle operazioni di I/O sulle risorse di calcolo.
  • Ripristino dei database (basati su snapshot di file) in pochi minuti anziché in ore o giorni (non si tratta di un'operazione di dimensionamento dei dati).
  • Prestazioni complessive più elevate grazie alla maggiore velocità effettiva dei log e ai tempi di commit delle transazioni più veloci, indipendentemente dai volumi di dati.
  • Rapida scalabilità orizzontale: è possibile effettuare il provisioning di una o più repliche di sola lettura per l'offload del carico di lavoro di lettura e per l'uso come hot standby.
  • Rapida scalabilità verticale: in un tempo costante è possibile aumentare le risorse di calcolo per supportare ingenti carichi di lavoro in base alle esigenze e quindi ridurle nuovamente quando non sono necessarie.

Nota

Hyperscale per il database SQL non supporta le funzionalità seguenti:

  • Istanza gestita di SQL
  • Pool elastici
  • Replica geografica
  • Analisi delle prestazioni della query

Distribuzione di Hyperscale per il database SQL di Azure

Per distribuire il database SQL di Azure con il livello Hyperscale:

  1. Accedere alla pagina Selezione l'opzione di distribuzione SQL.

  2. In Database SQL lasciare l'opzione Tipo di risorsa impostata su Database singolo e selezionare Crea.

    Deploying an Azure SQL Database Hyperscale

  3. Nella scheda Informazioni di base della pagina Crea database SQL selezionare l'abbonamento, il gruppo di risorse e il nome di database desiderati.

  4. Selezionare il collegamento Crea nuovo per il campo Server e immettere le informazioni per il nuovo server, ad esempio nome, account di accesso dell'amministratore, password e percorso.

  5. In Calcolo e archiviazione selezionare il collegamento Configura database.

    Configuring an Azure SQL Database Hyperscale

  6. Per il campo Livello di servizio, selezionare Hyperscale.

    Selecting Hyperscale service tier

  7. In Configurazione hardware selezionare il collegamento Modifica configurazione. Esaminare le configurazioni hardware disponibili e selezionare quella più appropriata per il database. Per questo esempio viene selezionata la configurazione Gen5.

  8. Selezionare OK per confermare la generazione dell'hardware.

  9. Facoltativamente, modificare il dispositivo di scorrimento vCore se si intende aumentare il numero di vCore per il database. Per questo esempio, si seleziona 2 vCore.

  10. Modificare il dispositivo di scorrimento per le repliche secondarie a disponibilità elevata per creare una replica a disponibilità elevata. Selezionare Applica.

  11. Selezionare Avanti: Rete nella parte inferiore della pagina.

    Network page when provisioning an Azure SQL Database Hyperscale

  12. Per il campo Regole firewall nella scheda Rete, impostare Aggiungi indirizzo IP client corrente su . Lasciare l'opzione Consenti alle risorse e ai servizi di Azure di accedere a questo server impostata su No.

  13. Selezionare Avanti: Sicurezza nella parte inferiore della pagina.

  14. Nella scheda Rivedi e crea selezionare Crea.

    Review and create page when provisioning an Azure SQL Database Hyperscale