Quand utiliser Azure Cosmos DB for NoSQL ?

Effectué

Azure Cosmos DB for NoSQL est un service de base de données NoSQL complètement managé pour le développement d’applications modernes. Il garantit des temps de réponse de moins de 10 millisecondes et une disponibilité de 99,999 %, avec des SLA dotés d’une scalabilité automatique et instantanée.

Pour les scénarios d’entreprise, Azure Cosmos DB for NoSQL a une suite complète de contrats de niveau de service (SLA) financièrement contraignants, qui couvrent le débit, la cohérence, la disponibilité et la latence.

Cas d’usage courants pour Azure Cosmos DB for NoSQL

En tant que base de données NoSQL rapide avec une API flexible, Azure Cosmos DB for NoSQL est bien adaptée aux applications hautes performances ayant une ambition mondiale. La vitesse et la flexibilité font d’Azure Cosmos DB for NoSQL l’option idéale pour les applications web, de commerce, IoT, de gaming et mobiles. Azure Cosmos DB for NoSQL est adapté aux applications qui nécessitent de la flexibilité, un temps de réponse court et des transactions très rapides ou portant sur de gros volumes.

IoT/télémétrie

Les charges de travail des capteurs IoT peuvent être diverses et imprévisibles. Ces charges de travail nécessitent une plateforme de base de données réactive et capable d’une mise à l’échelle flexible pour répondre aux besoins changeants des appareils de collecte de données déployés à un moment donné. Dans de nombreux cas, les charges de travail IoT peuvent aussi écrire des volumes importants de données et donc tirer parti d’une plateforme de base de données optimisée pour les écritures. Azure Cosmos DB for NoSQL est optimisée pour les charges de travail nécessitant beaucoup d’écritures. Les opérations sur un même document sont atomiques, avec des vitesses d’écriture indexées rapides et prévisibles. Azure Cosmos DB for NoSQL est distribuée dans le monde entier et élastique, de façon à répondre aux besoins des différentes charges de travail 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.

Dans cet exemple, un nombre croissant d’appareils IoT envoient des données de capteurs à un hub Azure IoT. Azure Stream Analytics ingère et agrège ensuite les données pour le stockage dans Azure Cosmos DB for NoSQL. Azure Synapse Analytics effectue ensuite une analyse en quasi-temps réel sur les données en utilisant Azure Synapse Link pour Azure Cosmos DB.

Vente au détail/marketing

Azure Cosmos DB for NoSQL est un outil idéal pour les charges de travail de vente au détail et de marketing qui peuvent subir des variations d’utilisation importantes et inattendues à tout moment au cours de l’année. L’échelle élastique d’Azure Cosmos DB for NoSQL garantit que la plateforme de base de données peut gérer les demandes pendant les pics d’utilisation et permettre d’économiser de l’argent pendant les périodes creuses.

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.

Dans cet exemple, une application web JavaScript, basée sur le contenu stocké dans Stockage Blob Azure, utilise Azure Cosmos DB for NoSQL comme base de données principale. Plusieurs comptes sont utilisés pour gérer différents aspects de la solution, comme le panier d’achats, le stock ou le catalogue. La solution utilise ensuite la Recherche Azure pour indexer les données Azure Cosmos DB for NoSQL, offrant ainsi aux utilisateurs finaux une expérience de recherche enrichie.

Web/mobile

De nombreuses applications sociales modernes produisent une pléthore de contenus générés par les utilisateurs, très variés en termes de quantité, de forme et de volume. Azure Cosmos DB for NoSQL est un bon candidat pour cette charge de travail, car cette API peut stocker des données de différents schémas. Envisagez d’utiliser l’API NoSQL pour les données dont les schémas changent ou évoluent au fil du temps à mesure que les initiatives de l’entreprise se développent dans de nouvelles zones.

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.

Dans cet exemple, un utilisateur utilise une URL pour accéder à un site web dans son navigateur. L’URL pointe vers Azure Traffic Manager, qui utilise ensuite un algorithme intégré pour déterminer vers quel point de terminaison Azure App Service rediriger l’utilisateur. Comme Azure Cosmos DB for NoSQL est capable de distribuer à l’échelle mondiale, vous n’avez besoin que d’un seul compte répliqué dans plusieurs régions.

Scénario du module

Considérez le scénario du début de ce module :

Supposons que vous travaillez comme développeur principal dans une société de vente au détail. Votre équipe développe votre boutique en ligne. Vous concevez la nouvelle boutique en ligne pour qu’elle soit accessible sur différents appareils, y compris les appareils mobiles. L’équipe s’attend à un pic de la demande quand la boutique sera publiée et dès lors que différentes ventes « spéciales ouverture » vont commencer.

Le succès de votre boutique en ligne est en grande partie lié à la possibilité pour l’entreprise de notifier les mises à jour de l’expédition aux utilisateurs, quel que soit l’appareil utilisé pour passer la commande ou sur lequel ils travaillent. Votre équipe a beaucoup travaillé sur un système sophistiqué pour gérer le suivi de l’état d’une commande en détails. L’intégration étroite d’Azure Cosmos DB aux autres services Azure vous permet de créer des solutions qui utilisent les données de commandes dans Azure Cosmos DB for NoSQL pour envoyer des notifications aux appareils mobiles de vos utilisateurs. Les notifications les alertent quand leur colis est expédié ou est en attente de livraison.

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.

Cet exemple est similaire à l’exemple de l’introduction de ce module. Pour créer le premier exemple, votre équipe a décidé d’introduire Azure Cosmos DB for NoSQL comme choix de base de données. À présent, votre équipe peut utiliser Azure Synapse Link pour préparer et agréger des données pour une analyse plus poussée avec Azure Synapse Analytics. Votre équipe peut aussi utiliser des services comme Azure Functions pour réagir aux événements de données avec Azure Cosmos DB, puis déclencher un workflow Azure Logic Apps qui envoie des notifications aux appareils mobiles.