Azure Cosmos DB è il database distribuito della piattaforma cloud di Microsoft dalle eccellenti caratteristiche. Garantisce ottime prestazioni, scalabilità orizzontale, geo distribuzione e accesso con varie tipologie di API di tipologia NoSQL e OSS. Possiamo memorizzare documenti JSON, grafi o tabelle non relazionali.
Tutto questo però ha un costo non indifferente, soprattutto se vogliamo cominciamo ad apprezzare le caratteristiche di questo servizio, per poi crescere con le esigenze. Il pricing si basa sullo spazio utilizzato, ma soprattutto con il provisioned throughput che garantisce un numero esatto di lettura e scritture al secondo, proporzionato all'entità dell'oggetto che scriviamo. Il minimo da riservare è di 400 RU/s, cioè un costo di circa 24¤ mensili.
Questo throughput fino a poco fa andava allocato per container, cioè per collection nel caso di API MongoDB o SQL, graph, nel caso di Gremlin, o table, nel caso di Cassandra o Azure Table. Questo pricing non si sposa bene se sfruttiamo diversi container per tipologie di documenti o righe diverse, costringendoci in alcuni casi a sfruttare il salvataggio in un unico container.
Fortunatamente di recente è stata inserita la possibilità di condividere il throughput a livello di database così da poter utilizzare tutti i container che vogliamo. Per farlo è sufficiente, in fase di creazione del database, spuntare la voce Provision database throughput, e indicare il RU/s desiderato.
Durante la creazione del database possiamo creare direttamente anche un container e indicare se vogliamo utilizzare il throughput o usarne uno specifico. Applicare la spunta indicata in precedenza, infatti, non vuol che non possiamo creare una situazione ibrida in cui alcuni container hanno un throughput dedicato.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Utilizzare il nuovo modello GPT-4o con Azure OpenAI
Ottimizzare il mapping di liste di tipi semplici con Entity Framework Core
Sostituire la GitHub Action di login su private registry
Gestire domini wildcard in Azure Container Apps
Sfruttare gli embedding e la ricerca vettoriale con Azure SQL Database
.NET Conference Italia 2024
Aggiungere interattività lato server in Blazor 8
Referenziare un @layer più alto in CSS
Utilizzare la versione generica di EntityTypeConfiguration in Entity Framework Core
Creare una custom property in GitHub
Autenticarsi in modo sicuro su Azure tramite GitHub Actions
Visualizzare le change sul plan di Terraform tramite le GitHub Actions
I più letti di oggi
- Effettuare il log delle chiamate a function di GPT in ASP.NET Web API
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- Utilizzare il metodo CountBy di LINQ per semplificare raggruppamenti e i conteggi
- Creare una libreria CSS universale: Cards
- Eseguire script pre e post esecuzione di un workflow di GitHub