Azure Cosmos DB Developer Specialty : la base de données distribuee de Microsoft
La certification Microsoft Certified: Azure Cosmos DB Developer Specialty valide votre expertise dans la conception, l'implémentation et l'optimisation de solutions de données utilisant Azure Cosmos DB.
Qu'est-ce qu'Azure Cosmos DB ?
Azure Cosmos DB est une base de données NoSQL distribuee globalement qui offre :
- Distribution globale : réplication transparente dans toutes les régions Azure du monde
- Multi-modele : API NoSQL (document), MongoDB, Cassandra, Gremlin (graphe), Table
- SLA de 99.999% : cinq neufs de disponibilité pour les comptes multi-regions
- Latence garantie : moins de 10 ms en lecture et écriture au 99e percentile
- 5 niveaux de cohérence : Strong, Bounded Staleness, Session, Consistent Prefix, Eventual
Domaines de l'examen
Concevoir et implémenter des modèles de données (35%) : choisir la bonne stratégie de partitionnement (partition key), modéliser les données pour les charges de travail NoSQL (dénormalisation, embedding vs referencing), concevoir pour les patterns d'accès.
Concevoir et implémenter l'accès aux données (25%) : requêtes SQL avec l'API NoSQL, opérations CRUD avec les SDK (.NET, Java, Python, Node.js), procédures stockées, triggers et UDF en JavaScript. Requêtes cross-partition et optimisation.
Concevoir et implémenter la distribution des données (5%) : distribution globale, réplication multi-regions, basculement automatique et manuel, cohérence multi-regions.
Intégrer et optimiser (15%) : intégration avec Azure Functions, Azure Search, Synapse Link pour l'analytique. Change Feed pour les événements en temps réel.
Implémenter des solutions de sauvegarde et de sécurité (10%) : sauvegardes continues et periodiques, restauration point-in-time, chiffrement, RBAC, Azure Private Link.
Surveiller et dépanner (10%) : métriques Cosmos DB, diagnostics de requêtes, gestion des Request Units (RU), alertes et dashboards.
Request Units (RU) : le concept cle
Les Request Units sont l'unité de coût de Cosmos DB. Chaque opération (lecture, écriture, requête) 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
- Écriture d'un document de 1 Ko : environ 5 RU
- Requête complexe avec scan : potentiellement des milliers de RU
Deux modes de provisioning : debit provisionne (RU/s fixes) et serverless (facturation à la consommation).
Partition Key : la décision la plus importante
Le choix de la partition key determine les performances et le coût de votre solution. Une bonne partition key :
- Distribue les données uniformement (evite les hot partitions)
- Correspond à vos patterns de requêtes les plus fréquents
- A une cardinalite elevee (beaucoup de valeurs distinctes)
Préparation
- Microsoft Learn : parcours gratuit avec exercices pratiques dans Azure Sandbox
- Pratiquez : créez une base Cosmos DB (compte gratuit disponible) et experimentez les différentes API
- Modélisation : pratiquez la dénormalisation et le choix de partition keys sur des cas concrets
- Change Feed : implémentez un pipeline réactif avec Change Feed et Azure Functions
- Optimisation RU : analysez les requêtes avec les diagnostics et optimisez la consommation