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
Sostituire la GitHub Action di login su private registry
Modificare i metadati nell'head dell'HTML di una Blazor Web App
Come EF 8 ha ottimizzato le query che usano il metodo Contains
Creare gruppi di client per Event Grid MQTT
Sfruttare MQTT in cloud e in edge con Azure Event Grid
Utilizzare un numero per gestire la concorrenza ottimistica con SQL Server ed Entity Framework
Eseguire query manipolando le liste contenute in un oggetto mappato verso una colonna JSON
Eseguire script pre e post esecuzione di un workflow di GitHub
Creare alias per tipi generici e tuple in C#
Esporre i propri servizi applicativi con Semantic Kernel e ASP.NET Web API
Supportare il sorting di dati tabellari in Blazor con QuickGrid
Gestire il colore CSS con HWB