Sulla piattaforma cloud di Microsoft Azure, SQL Database è il servizio di riferimento se vogliamo memorizzare dati relazionali attraverso una versione managed di SQL Server. Così facendo godiamo di scalabilità, affidabilità e sicurezza dei propri dati con il minimo sforzo e da un costo piuttosto basso.
Con l'aumentare delle esigenze e del numero dei database, anche questo servizio può cominciare a far sentire un certo peso dal punto di vista del costo. Se per esempio utilizziamo almeno un livello Standard S10, adatto alla produzione, moltiplicato per 10 database, il costo mensile si aggira ai 124¤.
Oltre al costo c'è anche un aspetto prestazionale da tenere in considerazione. Alcuni di questi database potrebbero essere poco utilizzati e quindi disporre di troppe inutili risorse. Altri database, invece, potrebbero necessitare di picchi di risorse maggiori, ma che non vengono soddisfatte per poter contenere i costi.
In queste situazioni è l'ideale sfruttare una funzionalità di SQL Database di nome Elastic Pool. In pratica si crea un pool di DTU non più assegnati ad un solo database, ma condivisi tra più database. In questo modo possiamo da una parte ridurre i costi, dall'altra ottenere maggiori prestazioni per database che ne necessitano.
Per creare un pool è sufficiente andare sul portale, accedere ad un server (logico) e premere nella barra new pool. Oltre al nome del pool dobbiamo decidere quanti DTU allocare, come nella figura seguente, che alloca 50 DTU.

Nella sezione database possiamo decidere quali database aggiungere o togliere dal pool. Questa operazione è possibile farla anche dopo aver creato il pool e ogni database del server può essere inserito o meno nel pool in qualsiasi momento, senza disservizi.

Nell'esempio di questo script il pool creato ha un costo di 90¤ per 50 DTU, superiore proporzionalmente ai 124¤ che ne fornivano 100 DTU, ma dà la possibilità ad ogni singolo database di poter usufruire fino a 50 DTU quando nella configurazione precedentemente non poteva superare i 10. Esiste, infine, una terza sezione che ci permette di limitare i DTU minimi e massimi consentiti ad un database.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Rendere i propri workflow e le GitHub Action utilizzate più sicure
Utilizzare Intersect e Except per filtrare set di dati in TSql
Testare l'invio dei messaggi con Event Hubs Data Explorer
Ottimizzare le performance usando Span<T> e il metodo Split
Sfruttare GPT-4o realtime su Azure Open AI per conversazioni vocali
Disabilitare le run concorrenti di una pipeline di Azure DevOps
Migliorare l'organizzazione delle risorse con Azure Policy
Sfruttare gli embedding e la ricerca vettoriale con Azure SQL Database
Configurare e gestire sidecar container in Azure App Service
Collegare applicazioni server e client con .NET Aspire
Utilizzare WebJobs su Linux con Azure App Service
Creare una libreria CSS universale: i bottoni