DocumentDB vs DynamoDB: quelles sont différences entre ces 2 bases de données NoSQL d’AWS
L’architecture, l’infrastructure et la gestion des coûts sont des facteurs clés pour qui veut comparer ces deux services de bases de données NoSQL d’AWS. Cet article cartographie les principales différences pour vous aider à choisir.
Avec le lancement de DocumentDB, AWS a épinglé à son catalogue deux services de base de données orientées documents. DocumentDB côtoie désormais DynamoDB, un datastore de clé / valeur qui prend également en charge les données de type document – et un autre service NoSQL donc.
Même si ces deux produits appartiennent à la même catégorie, ils diffèrent à bien des égards. Passons en revue ces différences et considérons les cas d’usage pour chacune.
Comment utiliser les bases de données orientées documents
Une caractéristique importante des bases de données documents est qu’elles n’imposent aucune restriction quant à la structure des données. Chaque document, que l’on compare à une ligne dans une base de données relationnelle traditionnelle, peut avoir sa propre structure de données. On peut donc stocker plusieurs documents dans la même base tout en conservant une flexibilité avec les données qu’ils contiennent.
Pour lancer un cluster, les développeurs doivent effectuer plusieurs configurations (généralement fastidieuses) comme la réplication et la sauvegarde des données, et ce, sans perturber leurs applications. DocumentDB vise à ôter cette contrainte.
Pour créer un cluster DocumentDB, il faut sélectionner plusieurs paramètres, comme la classe d'instance de base de données, le nombre de noeuds, le VPC (Virtual Private Cloud) et la méthode d'authentification. Une fois les instances lancées, DocumentDB gère les serveurs ainsi que plusieurs opérations. Par exemple, le service peut créer des sauvegardes, mettre à jour les versions du moteur ou augmenter les capacités de stockage sur disque. De leur côté, les administrateurs ont la possibilité d’optimiser la capacité du cluster et de choisir le nombre de nœuds et la classe d'instance.
DocumentDB est compatible avec MongoDB, une base de données, elle aussi, de type document très populaire chez les développeurs et dans l’open source. Ainsi, les applications utilisant MongoDB peuvent exploiter DocumentDB sans aucune modification – à condition que les versions d’API soient compatibles.
Avec DynamoDB, il est inutile de configurer l’infrastructure. Les administrateurs créent une table DynamoDB prête à l'emploi et configurent les paramètres lecture / écriture. Les données sont automatiquement répliquées dans les zones de disponibilité et DynamoDB se dimensionne automatiquement, à la demande.
Comme DocumentDB, les données dans DynamoDB ne doivent pas nécessairement suivre un schéma particulier. Les utilisateurs peuvent configurer des fonctionnalités supplémentaires, comme Auto Scaling, Global Tables, DynamoDB Accelerator, Point in Time Recovery, le chiffrement et le VPC.
DynamoDB vs DocumentDB
Ces bases de données AWS présentent certaines similitudes. Les deux proposent des outils de migration des données vers AWS, via AWS Database Migration Service. Les deux offrent également des fonctions de sécurité, avec chiffrement inactif via AWS Key Management Service. Elles supportent également des fonctionnalités d'audit avec CloudTrail et de gestions de flux VPC pour les appels d'API, ainsi que CloudFormation.
Toutefois, il est essentiel d'évaluer les contraintes d'une application avant de choisir la bonne base. DynamoDB convient parfaitement aux applications qui accèdent à des données basées sur des clés uniques, ainsi que dans des cas d'utilisation de clés / valeurs pures. Les requêtes ou les scans sont possibles, mais ils peuvent devenir complexes et difficiles à mettre à l'échelle.
DocumentDB offre des options d'indexation plus souples, avec la mise à jour d'index après la création de la table – ce qui facilite le requêtage des données.
Cliquez sur le tableau ci-dessous pour le télécharger au format PDF
La structure de coûts de ces deux bases de données AWS est également différente. On peut prendre en main DynamoDB sans pratiquement aucun coût initial. L'unité principale de coût de DynamoDB est la lecture / écriture d'unités de capacité. Le service prend en charge la tarification à la demande de ces unités, ainsi que la tarification de type réservée. Les utilisateurs peuvent gérer la capacité par petits incréments inférieurs à 1 $ par mois. Les premiers 25 Go de stockage sont gratuits. Après cela, le coût est de 0,25 dollar par Go et par mois. La sauvegarde coûte 0,20 dollar par Go et par mois, et le coût de la restauration est de 0,15 dollar par Go.
De leur côté, les utilisateurs de DocumentDB paient par nœud ou par instance EC2. Les plus petites unités de coût sont des instances r4.large ou r5.large, qui peuvent atteindre environ 200 dollars par mois, même si elles sont facturées à l'heure. DocumentDB pourra supporter des instances plus petites à l'avenir, mais à ce jour, seul le support des instances étendues est disponible.