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
Utilizzare QuickGrid di Blazor con Entity Framework
Esporre i propri servizi applicativi con Semantic Kernel e ASP.NET Web API
Gestione file Javascript in Blazor con .NET 9
Applicare un filtro per recuperare alcune issue di GitHub
Utilizzare EF.Constant per evitare la parametrizzazione di query SQL
Sfruttare GPT-4o realtime su Azure Open AI per conversazioni vocali
Rendere le variabili read-only in una pipeline di Azure DevOps
Gestire i dati con Azure Cosmos DB Data Explorer
Ottimizzare le performance delle collection con le classi FrozenSet e FrozenDictionary
La gestione della riconnessione al server di Blazor in .NET 9
Migliorare la sicurezza dei prompt con Azure AI Studio
Utilizzare l'espressione if inline in una pipeline di Azure DevOps