Azure Cosmos DB è il servizio offerto dal cloud Microsoft Azure che mette a disposizione un database documentale con più API (NoSQL, Mongo, ecc) completamente scalabile e gestito. Dispone di caratteristiche di geo replica, fault tollerance e gode di ottime prestazioni.
Queste prestazioni possono essere ulteriormente limate, non solo lavorando sulle request unit disponibili, ma anche intervenendo sul gateway. Quando ci connettiamo al nostro database, infatti, possiamo scegliere se usare la modalità diretta TCP, andando però diretti sulla partizione di nostro interesse, oppure passare dal gateway via HTTPS il quale si occupa di fornire l'accesso a più linguaggi e gestisce il routing in autonomia. Questo gateway è condiviso e sebbene goda di ottime prestazioni non c'è nulla che può battere un gateway dedicato al nostro database. Non solo, così facendo godiamo di un layer di cache automatico che evita di accedere ogni volta al cluster dei dati, permettendoci di avere latenze da 2-4 ms.
Per usufruire di questa funzionalità è necessario accedere al database interessato e nella sezione Dedicated Gateway, dove possiamo abilitare l'opzione.

Ci viene chiesto di dimensionare la virtual machine e dare il numero di istanze. Questo perché la cache occupa memoria, perciò sta a noi decidere quanta metterne a disposizione. Anche il numero di istanze influenza il numero di connessioni contemporanee che mettiamo a disposizione, anche se non c'è garanzia che non ci siano informazioni in cache replicate tra le varie istanze. Questo chiaramente comporta un costo visibile direttamente nella pagina.
A questo punto il passo da compiere è breve. Recandoci nella sezione Keys possiamo vedere due nuovi voci che mostrano le stringhe di connessioni necessarie per accedere ai gateway dedicati: è l'unico cambiamento da effettuare, oltre a verificare di connettersi tramite gateway.

Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Configurare e gestire sidecar container in Azure App Service
Utilizzare il trigger SQL con le Azure Function
Ricevere notifiche sui test con Azure Load Testing
Referenziare un @layer più alto in CSS
Come EF 8 ha ottimizzato le query che usano il metodo Contains
Migrare una service connection a workload identity federation in Azure DevOps
Migliorare l'organizzazione delle risorse con Azure Policy
Testare l'invio dei messaggi con Event Hubs Data Explorer
Esporre i propri servizi applicativi con Semantic Kernel e ASP.NET Web API
Potenziare la ricerca su Cosmos DB con Full Text Search
Triggerare una pipeline su un altro repository di Azure DevOps
Gestione dei nomi con le regole @layer in CSS
I più letti di oggi
- Novità nella gestione del modello asincrono in C# 5 e VB 11
- Configurare backup di lungo termine per Azure SQL Database
- Usare Azure Active Directory con SQL Database
- Usare le user assigned identity per accedere a Azure SQL Database tramite AAD
- Sfruttare gli embedding e la ricerca vettoriale con Azure SQL Database
- Eseguire una query su SQL Azure tramite un workflow di GitHub
- Recuperare la data di creazione e ultima modifica di un record con Entity Framework Core e le temporal table di SQL Server