Bases RDS, Aurora et DynamoDB
Relationnel managé contre NoSQL serverless : choisir le bon moteur du premier coup.
1. RDS : le relationnel sans l'administration
- Moteurs : MySQL, PostgreSQL, MariaDB, Oracle, SQL Server. AWS gère OS, patchs, sauvegardes automatiques (rétention 0-35 jours) et snapshots manuels.
- Multi-AZ : standby synchrone dans une autre AZ, bascule automatique (même endpoint DNS) = haute disponibilité.
- Read Replicas : copies asynchrones pour la scalabilité en lecture (jusqu'à 5, voire inter-régions). Un replica peut être promu.
- RDS Proxy : pool de connexions pour les applications à forte concurrence.
2. Aurora : le moteur cloud-natif
Compatible MySQL/PostgreSQL, stockage distribué répliqué sur 3 AZ (6 copies), jusqu'à 15 replicas en lecture, endpoints lecteur/écrivain, backtrack, Aurora Serverless v2 (capacité auto-ajustée) et Global Database (secondaire inter-région à moins d'une seconde de retard).
3. DynamoDB : NoSQL à l'échelle
- Clé-valeur et document, latence à un chiffre en millisecondes, tables globales multi-régions actives-actives.
- Capacité provisionnée (avec auto scaling) ou on-demand ; DAX : cache en mémoire (microsecondes) ; Streams + TTL pour l'expiration et les réactions.
- ElastiCache (Redis/Memcached) devant RDS pour le cache ; Redshift pour l'analytique, Neptune pour les graphes.
aws rds create-db-instance --db-instance-identifier prod-mysql --db-instance-class db.t3.micro --engine mysql --master-username admin --master-user-password MotDePasse123 --allocated-storage 50 --multi-az
aws rds describe-db-instances --db-instance-identifier prod-mysql
aws rds create-db-read-replica --db-instance-identifier prod-replica --source-db-instance-identifier prod-mysql
aws dynamodb create-table --table-name sessions --attribute-definitions AttributeName=userId,AttributeType=S --key-schema AttributeName=userId,KeyType=HASH --billing-mode PAY_PER_REQUEST
aws dynamodb put-item --table-name sessions --item '{"userId":{"S":"u1"}}'
aws rds create-db-snapshot --db-instance-identifier prod-mysql --db-snapshot-identifier snap-01
- Disponibilité = Multi-AZ ; lecture massive = Read Replicas / Aurora Replicas.
- Latence extrême clé-valeur = DynamoDB + DAX ; multi-région actif-actif = tables globales.
- OLTP relationnel critique = Aurora ; entrepôt analytique = Redshift.
- Chiffrement au repos via KMS, SSL en transit, IAM auth sur RDS/Aurora.
Voir la réponse
DynamoDB avec tables globales et DAX en cache. RDS même avec replicas ne tient pas cette latence mondiale en actif-actif, et Aurora Global reste à primaire unique avec secondaire en lecture.