Quando è consigliabile usare Azure Cosmos DB for NoSQL

Completato

Azure Cosmos DB for NoSQL è un servizio di database NoSQL completamente gestito per lo sviluppo di app moderne. Garantisce tempi di risposta di pochi millisecondi e una disponibilità del 99,999%, supportati da contratti di servizio con scalabilità automatica e immediata.

Per gli scenari aziendali, Azure Cosmos DB for NoSQL offre una suite completa di contratti di servizio con copertura finanziaria che coprono velocità effettiva, coerenza, disponibilità e latenza.

Casi d'uso comuni per Azure Cosmos DB for NoSQL

Poiché è un database NoSQL veloce con un'API flessibile, Azure Cosmos DB for NoSQL è particolarmente adatto per le applicazioni ad alte prestazioni con funzionalità molto estesa. Velocità e flessibilità fanno di Azure Cosmos DB for NoSQL la soluzione ideale per le applicazioni Web, di vendita al dettaglio, IoT, di gioco e per dispositivi mobili. Azure Cosmos DB for NoSQL è ideale per le applicazioni che richiedono flessibilità, tempi di risposta ridotti e transazioni con volumi o velocità molto elevati.

IoT e telemetria

I carichi di lavoro dei sensori IoT possono essere di vario tipo e imprevedibili. Richiedono una piattaforma di database reattiva e in grado di offrire una scalabilità elastica per soddisfare le esigenze di qualsiasi numero di dispositivi di raccolta dati distribuiti in qualsiasi momento. In molti casi i carichi di lavoro IoT possono anche scrivere volumi enormi di dati e possono trarre vantaggio da una piattaforma di database ottimizzata per la scrittura. Azure Cosmos DB for NoSQL è ottimizzato per i carichi di lavoro con intensa attività di scrittura. Le operazioni su un singolo documento sono atomiche, con velocità di scrittura indicizzate elevate e prevedibili. Azure Cosmos DB for NoSQL inoltre è distribuito a livello globale ed è elastica per soddisfare le esigenze di vari carichi di lavoro IoT.

Architectural diagram for an IoT workload showing increasing numbers of IoT device sensors sending data to an Azure IoT Hub. Azure Databricks then ingests and aggregates the real-time data in JSON format for storage in Azure Cosmos DB. Finally, Azure Synapse Analytics is used to perform a deeper analysis of the data stored in Azure Cosmos DB.

In questo esempio un numero crescente di dispositivi IoT invia i dati dei sensori a un hub IoT di Azure. Analisi di flusso di Azure quindi inserisce e aggrega i dati per l'archiviazione in Azure Cosmos DB for NoSQL. Azure Synapse Analytics esegue quindi un'analisi near real-time dei dati usando il collegamento ad Azure Synapse per Azure Cosmos DB.

Retail e marketing

Azure Cosmos DB for NoSQL è ideale per carichi di lavoro relativi a retail e marketing il cui utilizzo può presentare variazioni significative e impreviste in qualsiasi momento durante l'anno. La scalabilità elastica di Azure Cosmos DB for NoSQL garantisce che la piattaforma di database sia in grado di gestire le richieste durante i picchi di utilizzo e di risparmiare denaro durante orari non di punta.

Architectural diagram for a retail workload showing a user browser connecting to the website on Azure App Service supported by an Azure Blob Storage account containing static site data. Behind the scenes, an Azure Cosmos DB for NoSQL account with a container for inventory data and a container for shopping cart data is used by the App Service Web App and an Azure Search instance that builds a searchable catalog by indexing the Azure Cosmos DB for NoSQL account with inventory data.

In questo esempio un'applicazione Web JavaScript, compilata in base al contenuto archiviato in Archiviazione BLOB di Azure, usa Azure Cosmos DB for NoSQL come database di supporto. Vengono usati più account per gestire diversi facet della soluzione, ad esempio il carrello acquisti, l'inventario o il catalogo. La soluzione usa quindi Ricerca di Azure per indicizzare i dati di Azure Cosmos DB for NoSQL, offrendo un'esperienza di ricerca avanzata agli utenti finali.

Web e dispositivi mobili

Molte applicazioni di social networking moderne generano una vasta gamma di contenuti creati dall'utente diversi per quantità, forma e volume. Azure Cosmos DB for NoSQL è un candidato ideale per questo carico di lavoro perché questa API è in grado di archiviare dati di schemi diversi. Prendere in considerazione l'API NoSQL per i dati che possono avere schemi che cambiano o si evolvono nel tempo man mano che le iniziative dell'azienda si espandono in nuove aree.

Architectural diagram for a web workload showing a user browser connecting to a URL that is connected to Azure Traffic Manager to determine the correct redirect destination. Then three Azure App Service instances in three Azure regions (North Europe, West US, East US) are connected to a globally distributed Azure Cosmos DB for NoSQL account.

In questo esempio un utente usa un URL per accedere a un sito Web nel proprio browser. L'URL punta a Gestione traffico di Azure, che quindi usa un algoritmo predefinito per determinare a quale endpoint di Servizio app di Azure reindirizzare l'utente. Poiché Azure Cosmos DB for NoSQL è in grado di eseguire una distribuzione globale, è necessario un solo account replicato in più aree.

Scenario del modulo

Si consideri lo scenario dall'inizio di questo modulo:

Si supponga di essere lo sviluppatore capo presso un'azienda di vendita al dettaglio. Il team sta creando una vetrina online. La nuova vetrina verrà progettata in modo da essere accessibile in vari dispositivi, tra cui i dispositivi mobili. Il team si aspetta un picco della domanda con la pubblicazione della vetrina e l'inizio di varie vendite "di inaugurazione".

Una parte fondamentale del successo dello store è la possibilità per l'azienda di notificare agli utenti gli aggiornamenti delle spedizioni indipendentemente dal dispositivo in cui effettuano l'ordine o che stanno attualmente usando. Il team ha lavorato con molto impegno a un sistema sofisticato per gestire in dettaglio il monitoraggio dello stato di un ordine. Grazie alla stretta integrazione di Azure Cosmos DB con altri servizi di Azure, è possibile prendere in considerazione la creazione di soluzioni che usano i dati degli ordini in Azure Cosmos DB for NoSQL per inviare notifiche ai dispositivi mobili dell'utente. Le notifiche li avvisano quando il pacco viene spedito o è pronto per la consegna.

Architectural diagram for a retail workload showing a growing number of users ordering products and a collection of compute resources handling requests from the storefront instances. Behind the compute resources, Azure Cosmos DB stores purchase data. Then, Azure Synapse Link connects Azure Cosmos DB to Azure Synapse Analytics for deeper analytics. Finally, Azure Functions, triggered off of change feed, processing data events that then trigger an Azure Logic Apps workflow to perform business operations such as notifying the user on their mobile device of new events.

Questo esempio è simile all'esempio visto nell'introduzione di questo modulo. Per basarsi sul primo esempio, il team ha deciso di introdurre Azure Cosmos DB for NoSQL come database preferito. Ora il team può usare il collegamento ad Azure Synapse per preparare e aggregare i dati per effettuare un'analisi più approfondita con Azure Synapse Analytics. Il team può anche usare servizi come Funzioni di Azure per reagire agli eventi di dati con Azure Cosmos DB e quindi attivare un flusso di lavoro di App per la logica di Azure che invia le notifiche ai dispositivi mobili.