DynamoDB vs Amazon Aurora
DynamoDB ou Aurora pour ma charge de travail ?
Amazon DynamoDB est un magasin NoSQL clé-valeur et document entièrement managé, conçu pour des performances de l'ordre de la milliseconde à toute échelle, sans schéma fixe. Amazon Aurora est une base de données relationnelle managée compatible avec MySQL et PostgreSQL, utilisant le SQL complet avec des tables, des jointures et des transactions ACID. Choisis DynamoDB pour un accès clé-valeur à grande échelle ; choisis Aurora pour des requêtes relationnelles.
DynamoDB vs Amazon Aurora en un coup d'œil
| Caractéristique | DynamoDB | Amazon Aurora |
|---|---|---|
| Modèle de données | Magasin NoSQL clé-valeur et document ; sans schéma (seule la clé primaire est requise) | Relationnel : tables, lignes et colonnes structurées avec un schéma défini et des relations |
| Langage de requête | Opérations AWS SDK/API plus PartiQL, un langage de requête compatible SQL pour select/insert/update/delete | SQL complet, compatible MySQL ou PostgreSQL |
| Jointures | Pas de jointures côté serveur ; tu modélises les schémas d'accès en amont (souvent en conception mono-table) | JOIN SQL natif entre tables via le moteur relationnel |
| Index | Index secondaires locaux et globaux (LSI / GSI) | Index relationnels standard (primaire et secondaire) fournis par MySQL/PostgreSQL |
| Cohérence | Lectures à terme par défaut ; lectures fortement cohérentes disponibles par requête | Forte cohérence avec intégrité relationnelle complète |
| Montée en charge | Montée en charge horizontale entre partitions ; aucune limite supérieure sur le nombre d'éléments par table ni sur la taille de la table ; capacité à la demande ou provisionnée | Cluster d'un writer plus jusqu'à 15 réplicas de lecture à faible latence sur trois Availability Zones ; le stockage grandit automatiquement jusqu'à 256 Tio ; Aurora Serverless v2 ajuste automatiquement la capacité |
| Transactions | Transactions ACID jusqu'à 100 éléments (4 Mo au total) au sein d'une seule Région | Transactions ACID multi-instructions complètes |
| Modèle tarifaire | Capacité à la demande ou provisionnée (unités de lecture/écriture) plus le stockage | Capacité d'instance (On-Demand ou Reserved) ou Aurora Serverless v2, plus le stockage et les I/O |
| Meilleur usage | Charges clé-valeur/document à l'échelle du web, faible latence prévisible | Charges relationnelles nécessitant des jointures, des requêtes complexes et une familiarité avec SQL |
Quand DynamoDB est le meilleur choix
DynamoDB convient lorsque tes schémas d'accès sont connus et basés sur des clés, et que tu as besoin d'une latence prévisible de l'ordre de la milliseconde à mesure que le trafic augmente. Selon le AWS DynamoDB Developer Guide, il est conçu pour monter en charge sur du matériel distribué sans limite supérieure sur le nombre d'éléments ni sur la taille totale de la table, ce qui convient aux applications à l'échelle du web comme les réseaux sociaux, le jeu, le partage de médias et l'IoT. C'est un bon choix quand tu veux un modèle opérationnel serverless sans instances à dimensionner, et quand une forme d'élément flexible et semi-structurée (y compris JSON) est un avantage. Si ta charge de travail est intermittente ou de nature clé-valeur, le modèle par requête de DynamoDB permet au coût de suivre l'usage au plus près.
Quand Aurora est le meilleur choix
Aurora convient aux charges relationnelles : des données avec de vraies relations, des requêtes ad hoc complexes, des jointures, des agrégations et du reporting où le SQL est l'outil naturel. Comme Aurora est compatible MySQL et PostgreSQL, le code SQL, les outils et les ORM existants fonctionnent généralement avec peu de changements, et les équipes déjà productives en SQL conservent leurs compétences. Aurora est un choix solide quand la forte cohérence et l'intégrité relationnelle sur de nombreuses tables liées comptent, ou quand tu as besoin de transactions multi-instructions couvrant un schéma riche. AWS note également que les deux sont souvent complémentaires — par exemple, DynamoDB sur le chemin critique et Aurora pour le chemin analytique ou de reporting.
Travailler avec DynamoDB
Une fois DynamoDB choisi, DynoTable est un client DynamoDB de bureau pour parcourir, éditer et interroger des tables sans la console AWS. Comme DynamoDB n'a pas de jointures côté serveur, exprimer des requêtes sur tes clés et index est là où va l'essentiel du travail quotidien. Le DynamoDB Expression Builder gratuit t'aide à composer des conditions de clé, des expressions de filtre et des projections, et à émettre le code SDK, CLI ou PartiQL correspondant. DynoTable est une application commerciale à code fermé ; elle lit tes identifiants AWS standard et communique directement avec DynamoDB, donc il n'y a rien à migrer quand tu passes d'un autre client.
FAQ
DynamoDB est-il moins cher qu'Aurora ?
Cela dépend de la charge de travail — aucun n'est universellement moins cher. DynamoDB facture la capacité de lecture/écriture à la demande ou provisionnée plus le stockage, donc le coût suit le volume de requêtes et peut approcher zéro à l'arrêt. Aurora facture la capacité d'instance (ou Aurora Serverless v2) plus le stockage et les I/O. Pour un trafic intermittent de type clé-valeur, le modèle par requête de DynamoDB coûte souvent moins cher ; pour des charges relationnelles soutenues et à fort volume, un cluster Aurora provisionné peut être plus économique. Modélise tes propres schémas de lecture/écriture avant de décider.
Aurora vs DynamoDB pour les applications serverless ?
Les deux offrent un fonctionnement de type serverless, donc le facteur décisif est le modèle de données, pas le modèle de facturation. DynamoDB est serverless par conception — aucune instance à gérer, une capacité qui monte en charge automatiquement et une tarification par requête — ce qui convient à l'accès clé-valeur et document à grande échelle. Aurora Serverless v2 ajuste automatiquement un moteur relationnel (et peut descendre à zéro à l'arrêt), ce qui convient aux applications serverless qui ont réellement besoin de SQL, de jointures et d'intégrité relationnelle. Choisis DynamoDB pour les schémas d'accès clé-valeur et Aurora quand ton application est fondamentalement relationnelle.
Ressources liées
- Apprends : Quand utiliser DynamoDB · SQL pour DynamoDB
- Construis des requêtes rapidement avec le DynamoDB Expression Builder gratuit.
- Télécharger DynoTable pour macOS, Windows ou Linux.
Dernière vérification le 2026-07-12 par rapport au AWS DynamoDB Developer Guide et à la documentation Amazon Aurora. Amazon DynamoDB, Amazon Aurora, MySQL et PostgreSQL sont des marques de leurs propriétaires respectifs ; mentionnées ici à des fins d'identification uniquement.