Clément Schanen

Bases de donnéesService régional

DynamoDB

Base de données NoSQL rapide, scalable et entièrement managée

Fonctionnement

  • Stockage clé/valeur ou documents
  • Optimisé pour les requêtes très performantes
  • Consistance éventuelle par défaut mais consistance forte possible
  • Facturation à la requête ou en fonction de la capacité provisionnée (plus cher)

Modélisation par « patterns d’accès » il faut penser à la façon dont l’application accédera aux données dès la conception

Modélisation des données

  • Partition Key (PK) : détermine la répartition physique des données (obligatoire)
  • Sort Key (SK) : permet d’ordonner et filtrer plusieurs items sous une même PK
La composition d’une clé primaire La clé primaire est formée de la partition key, obligatoire, éventuellement complétée d’une sort key. Primary Key Partition Key (PK) Sort Key (SK)

L’accès se fait exclusivement via la clé primaire (PK ou PK+SK) ou via un index (GSI/LSI)

Transactions

  • Gestion des transactions ACID sur une ou plusieurs tables

Limite de 25 items ou 4 Mo par transaction

Sécurité

  • Chiffrement au repos avec KMS
  • Intégration avec IAM pour le contrôle des accès

Sauvegarde

  • Backups complets sans impact sur les performances
  • Restauration point-in-time (PITR)
    • Incrémental sur les 35 derniers jours
    • Pas activé par défaut
    • Restauration possible à partir de 5 min dans le passé

Performances et Scaling

  • Scalabilité automatique
  • DAX (DynamoDB Accelerator)
    • Cache en mémoire
    • Compatible avec les appels API DynamoDB
    • Temps de réponse en microsecondes

Streams et Réplication

DynamoDB Streams

  • Enregistrements des changements ordonnés
  • Stockés pendant 24h
  • Intégration avec Lambda

Global Tables

  • Réplication multi-région
  • Basé sur les streams
  • Latence < 1 seconde entre régions