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 IA et modernes. Il garantit des temps de réponse de moins de 10 millisecondes et une disponibilité de 99,999 % et des fonctionnalités de base de données vectorielles soutenues par des Contrats de niveau de service (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 avec des fonctionnalités de recherche et d’indexation vectorielles et une API flexible, Azure Cosmos DB for NoSQL convient très bien pour plusieurs types et tailles d’application. De la très petite mise à l’échelle aux applications aux performances élevées avec une ambition internationale. 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, mobiles et d’IA générative. Azure Cosmos DB for NoSQL est adapté aux applications qui nécessitent de la flexibilité, un faible coût, des temps de réponse rapides et la possibilité de mettre à l’échelle vers une vélocité ou un volume important.

IA générative

Les applications d’IA générative peuvent être diverses et imprévisibles. Ces charges de travail nécessitent une plateforme de base de données économique, réactive et évolutive. Les utilisateurs peuvent stocker des vecteurs directement dans leurs documents avec des données traditionnelles sans schéma et des vecteurs hautement dimensionnels comme autres propriétés. Cette colocalisation des données et des vecteurs permet une indexation et une recherche efficaces, car les vecteurs sont stockés dans la même unité logique que les données qu’ils représentent. Le fait de conserver les vecteurs et les données ensemble simplifie la gestion des données, les architectures d’applications IA et l’efficacité des opérations basées sur des vecteurs.

Diagramme architectural d’une charge de travail d’IA générative montrant une application d’agent IA multi-locataire pour les utilisateurs finaux. Les données nouvelles ou mises à jour sont ingérées avec Flux de modification, vectorisées et stockées. Les utilisateurs communiquent avec les agents IA qui effectuent une recherche vectorielle et génèrent des réponses avec l’historique des conversations stocké dans Azure Cosmos DB.

Dans cet exemple, les clients prennent des données opérationnelles et transactionnelles, puis les vectorisent pour les utiliser pour la recherche vectorielle par de nombreux agents IA servant des clients. Le Flux de modification d’Azure Cosmos DB est utilisé pour gérer l’ingestion et la vectorisation de données nouvelles ou mises à jour, ce qui les rend disponibles en quasi-temps réel pour les utilisateurs. Les clients communiquant avec ces agents génèrent des requêtes et de saisies semi-automatiques qui sont également stockées en tant que leur historique des conversations dans Azure Cosmos DB et utilisées pour fournir un cache sémantique pour des performances et un coût améliorés.

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.

Diagramme architectural d’une charge de travail de vente au détail montrant un navigateur utilisateur qui se connecte au site web sur Azure App Service pris en charge par un compte de stockage Blob Azure contenant des données de site statiques. En arrière-plan, un compte Azure Cosmos DB for NoSQL avec un conteneur pour les données du stock et un conteneur pour les données du panier d’achats est utilisé par l’application web App Service, et une instance de Recherche Azure qui crée un catalogue pouvant faire l’objet d’une recherche en indexant le compte Azure Cosmos DB for NoSQL avec les données du stock.

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.

Diagramme architectural d’une charge de travail web montrant un navigateur utilisateur qui se connecte à une URL connectée à Azure Traffic Manager pour déterminer la destination de redirection correcte. Ensuite, trois instances Azure App Service dans trois régions Azure (Europe Nord, USA Ouest, USA Est) sont connectées à un compte d’API Azure Cosmos DB for NoSQL distribué à l’échelle mondiale.

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 génère votre vitrine en ligne avec une prise en charge pour les Agents IA afin de fournir une expérience enrichie aux utilisateurs. 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.

Diagramme architectural d’une charge de travail de vente au détail montrant un nombre croissant d’utilisateurs commandant des produits et une collection de ressources de calcul qui gèrent des demandes à partir des instances de vitrine. Derrière les ressources de calcul, Azure Cosmos DB stocke les données d’achat. Ensuite, Azure Synapse Link connecte Azure Cosmos DB à Azure Synapse Analytics pour une analyse plus approfondie. Enfin, Azure Functions, déclenché hors du flux de modification, traitant des événements de données qui déclenchent ensuite un workflow Azure Logic Apps pour effectuer des opérations métier, telles que la notification de nouveaux événements à l’utilisateur sur son appareil mobile.

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.