Introduction
Azure Cosmos DB est la base de données NoSQL complètement managée de Microsoft sur Azure. En tant que base de données NoSQL, Azure Cosmos DB est à la fois non relationnelle, et scalable horizontalement ou par scale-out. Cette capacité de scale-out est obtenue en ajoutant plus de nœuds ou de partitions à un conteneur.
Cette capacité de scale-out permet aux conteneurs de croître jusqu’à une taille théoriquement infinie. Ainsi, quand un conteneur augmente en taille, il peut également gérer un nombre croissant de demandes tout en offrant les mêmes performances, quelle que soit la taille du conteneur.
Toutefois, pour atteindre ce niveau de scalabilité, les utilisateurs doivent comprendre les concepts et les techniques de modélisation et de partitionnement des données qui sont propres à Azure Cosmos DB. Les utilisateurs doivent également comprendre les concepts des bases de données NoSQL en général.
Scénario
Imaginez que vous travaillez pour une start-up de vente au détail qui souhaite concevoir une base de données pour gérer les commandes en ligne. Vous travaillez sur une proposition de conception de base de données efficace en utilisant Azure Cosmos DB for NoSQL. Un modèle entité-relation vous a été fourni pour démarrer. Vous souhaitez fournir un niveau maximum de scalabilité, performances et efficacité et, pour ce faire, vous devez modéliser correctement les données.
Le diagramme entité-relation (modèle ER) suivant vous fournit les détails des neuf entités que vous allez devoir utiliser. Le modèle relationnel compte neuf entités, chacune dans sa propre table.
Comment y parvenir ?
Dans ce module, nous prenons notre modèle de données relationnel existant et nous le restructurons en base de données NoSQL pour notre application d’e-commerce. Pendant ce processus, vous apprenez les concepts suivants :
- Différences entre les bases de données relationnelles et NoSQL : Vous explorez certaines des différences qui existent entre les bases de données NoSQL et les bases de données relationnelles, ainsi que la raison de ces différences.
- Utilisation des modèles d’accès aux données d’application pour modéliser les données : Vous apprenez comment la manière dont une application lit et écrit des données influence la manière de les modéliser pour une base de données NoSQL.
- Incorporation ou référencement : Vous apprenez à déterminer quand il faut incorporer les données au sein du même document ou les stocker en tant que document distinct.
- Choix d’une clé de partition : Vous apprenez les concepts clés nécessaires pour choisir la meilleure clé de partition pour le scale-out et pour optimiser les charges de travail exigeantes en lectures et/ou en écritures.
- Modélisation des données de recherche ou de référence : Enfin, vous apprenez à modéliser les données qui sont utilisées comme données de recherche ou données de référence pour d’autres données.
Quel est l’objectif principal ?
Une fois que vous avez terminé ce module (et son module complémentaire Optimiser votre base de données avec des modèles de modélisation avancés pour Azure Cosmos DB), vous avez les connaissances et les compétences nécessaires pour modéliser et partitionner correctement les données d’une base de données NoSQL déployée sur Azure Cosmos DB.
À l’issue de ce module, vous pourrez :
- Déterminer les modèles d’accès aux données.
- Appliquer des stratégies de partitionnement et de modèle de données pour prendre en charge une base de données NoSQL efficace et évolutive.