Architecture de Cosmos DB

Développer pour Azure Storage

Shahzad Mian

Content developer, DataCamp

Azure Cosmos DB

Azure_Cosmos_DB.svg.png

Développer pour Azure Storage

Le problème

Problème Cosmos DB

Développer pour Azure Storage

Qu’est-ce que Cosmos DB ?

 

CosmosDB

  • Base NoSQL multi-modèle et distribuée globalement.
  • NoSQL : stockage flexible, comme des dossiers.
  • Prend en charge plusieurs API et types de données.
  • Comme un menu flexible : choisissez votre API :
    • SQL (Core) pour documents JSON.
    • MongoDB pour développeurs Mongo.
    • Cassandra pour colonnes larges.
    • Gremlin pour graphes.
    • Table API pour clé-valeur.
Développer pour Azure Storage

Cosmos DB pour les développeurs

  • Conçu pour les développeurs.
  • Indexation automatique, pas de schéma à gérer.
  • Requêtes rapides.
  • Cinq niveaux de cohérence : de Strong à Eventual.
  • Compromis performance vs cohérence.
    • Strong : tout le monde voit le même résultat immédiatement.
    • Eventual : tout le monde rattrape plus tard.

 

Cohérence forte et finale

Développer pour Azure Storage

Mise à l’échelle et débit (RU/s)

Mode provisionné

  • Les unités de requête par seconde (RU/s) = monnaie de performance de Cosmos DB.
  • Chaque lecture, écriture ou requête consomme des RU/s.
  • Choisissez un provisionnement fixe ou l’autoscale.
Développer pour Azure Storage

Mise à l’échelle et débit (RU/s)

Mise à l’échelle

  • Les unités de requête par seconde (RU/s) = monnaie de performance de Cosmos DB.
  • Chaque lecture, écriture ou requête consomme des RU/s.
  • Choisissez un provisionnement fixe ou l’autoscale.
  • L’autoscale s’ajuste automatiquement selon la demande.
Développer pour Azure Storage

Échelle élastique et partitionnement

  • Cosmos DB met à l’échelle via le partitionnement.
  • Chaque conteneur utilise une clé de partition.
  • La clé regroupe les données liées.
  • Exemple : Cipher Coffee utilise /customerId pour les commandes.
  • Toutes les commandes d’un client restent dans la même partition avec /customerId comme clé.
  • Les requêtes restent rapides même avec la croissance des données.
  • Partition chaude : charge inégale des partitions qui ralentit les performances.

Mise à l’échelle élastique et partitionnement

Développer pour Azure Storage

Distribution globale

  • Répliquez les données dans n’importe quelle région Azure facilement.
  • Cochez simplement des cases, sans configuration lourde.
  • Si une région tombe, le trafic est rerouté automatiquement.
  • Pas d’interruption, pas de perte de données.
  • Comme un café de secours prêt à servir instantanément.

Distribution globale

Développer pour Azure Storage

Supervision et optimisation des coûts

  • Suivez les performances dans Azure Portal.
  • Consultez des métriques comme RU/s, latence et coût de requête.
  • Comme un tableau de bord : vitesse et carburant.
  • Les ingénieurs de Cipher Coffee ont analysé ces métriques.
  • Coûts réduits en ajustant le débit dynamiquement.

Monitoring

Développer pour Azure Storage

Passons à la pratique !

Développer pour Azure Storage

Preparing Video For Download...