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
Migliorare l'organizzazione delle risorse con Azure Policy
Sfruttare GPT-4o realtime su Azure Open AI per conversazioni vocali
Migliorare la scalabilità delle Azure Function con il Flex Consumption
Introduzione ai web component HTML
Utilizzare il nuovo modello GPT-4o con Azure OpenAI
Ottenere un token di accesso per una GitHub App
Creare una libreria CSS universale: Clip-path
Creare una custom property in GitHub
Supportare la sessione affinity di Azure App Service con Application Gateway
Utilizzare la funzione EF.Parameter per forzare la parametrizzazione di una costante con Entity Framework
Usare le navigation property in QuickGrid di Blazor
Triggerare una pipeline su un altro repository di Azure DevOps