Azure Cosmos DB Developer Specialty : la base de donnees distribuee de Microsoft
La certification Microsoft Certified: Azure Cosmos DB Developer Specialty valide votre expertise dans la conception, l'implementation et l'optimisation de solutions de donnees utilisant Azure Cosmos DB.
Qu'est-ce qu'Azure Cosmos DB ?
Azure Cosmos DB est une base de donnees NoSQL distribuee globalement qui offre :
- Distribution globale : replication transparente dans toutes les regions Azure du monde
- Multi-modele : API NoSQL (document), MongoDB, Cassandra, Gremlin (graphe), Table
- SLA de 99.999% : cinq neufs de disponibilite pour les comptes multi-regions
- Latence garantie : moins de 10 ms en lecture et ecriture au 99e percentile
- 5 niveaux de coherence : Strong, Bounded Staleness, Session, Consistent Prefix, Eventual
Domaines de l'examen
Concevoir et implementer des modeles de donnees (35%) : choisir la bonne strategie de partitionnement (partition key), modeliser les donnees pour les charges de travail NoSQL (denormalisation, embedding vs referencing), concevoir pour les patterns d'acces.
Concevoir et implementer l'acces aux donnees (25%) : requetes SQL avec l'API NoSQL, operations CRUD avec les SDK (.NET, Java, Python, Node.js), procedures stockees, triggers et UDF en JavaScript. Requetes cross-partition et optimisation.
Concevoir et implementer la distribution des donnees (5%) : distribution globale, replication multi-regions, basculement automatique et manuel, coherence multi-regions.
Integrer et optimiser (15%) : integration avec Azure Functions, Azure Search, Synapse Link pour l'analytique. Change Feed pour les evenements en temps reel.
Implementer des solutions de sauvegarde et de securite (10%) : sauvegardes continues et periodiques, restauration point-in-time, chiffrement, RBAC, Azure Private Link.
Surveiller et depanner (10%) : metriques Cosmos DB, diagnostics de requetes, gestion des Request Units (RU), alertes et dashboards.
Request Units (RU) : le concept cle
Les Request Units sont l'unite de cout de Cosmos DB. Chaque operation (lecture, ecriture, requete) consomme un certain nombre de RU. Comprendre et optimiser la consommation de RU est fondamental :
- Lecture d'un document de 1 Ko par ID : 1 RU
- Ecriture d'un document de 1 Ko : environ 5 RU
- Requete complexe avec scan : potentiellement des milliers de RU
Deux modes de provisioning : debit provisionne (RU/s fixes) et serverless (facturation a la consommation).
Partition Key : la decision la plus importante
Le choix de la partition key determine les performances et le cout de votre solution. Une bonne partition key :
- Distribue les donnees uniformement (evite les hot partitions)
- Correspond a vos patterns de requetes les plus frequents
- A une cardinalite elevee (beaucoup de valeurs distinctes)
Preparation
- Microsoft Learn : parcours gratuit avec exercices pratiques dans Azure Sandbox
- Pratiquez : creez une base Cosmos DB (compte gratuit disponible) et experimentez les differentes API
- Modelisation : pratiquez la denormalisation et le choix de partition keys sur des cas concrets
- Change Feed : implementez un pipeline reactif avec Change Feed et Azure Functions
- Optimisation RU : analysez les requetes avec les diagnostics et optimisez la consommation