Estimation du coût d'une table DynamoDB pour une capacité à la demande - Recommandations AWS

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Estimation du coût d'une table DynamoDB pour une capacité à la demande

Créée par Moinul Al-Mamun (AWS)

Environnement : Production

Technologies : bases de données CloudNative ; sans serveur ; gestion des coûts

Services AWS : Amazon DynamoDB

Récapitulatif

Amazon DynamoDB est une base de données transactionnelle NoSQL qui fournit une latence à un chiffre en millisecondes, même à l'échelle du pétaoctet. Cette offre sans serveur Amazon Web Services (AWS) gagne en popularité en raison de ses performances et de son évolutivité constantes.  Vous n'avez pas besoin de provisionner l'infrastructure sous-jacente. Votre table unique peut atteindre des pétaoctets.

Avec le mode capacité à la demande, vous payez par demande pour les lectures et les écritures de données effectuées par votre application sur les tables. Les frais AWS sont basés sur le cumul des unités de demande de lecture (RRU) et des unités de demande d'écriture (WRU) par mois. DynamoDB surveille la taille de votre table en permanence tout au long du mois afin de déterminer vos frais de stockage. Il prend en charge la sauvegarde continue avec point-in-time-recovery (PITR). DynamoDB surveille la taille de vos tables compatibles PITR en permanence tout au long du mois afin de déterminer vos frais de sauvegarde.

Pour estimer le coût DynamoDB d'un projet, il est important de calculer la quantité de RRU, de WRU et de stockage qui sera consommée aux différentes étapes du cycle de vie de votre produit. Pour une estimation approximative des coûts, vous pouvez utiliser le calculateur de prix AWS, mais vous devez fournir un nombre approximatif de RRU, de WRU et de besoins en stockage pour votre table. Il peut être difficile de les estimer au début du projet. Le calculateur de prix AWS ne prend pas en compte le taux de croissance des données ni la taille des éléments, ni le nombre de lectures et d'écritures pour la table de base et les index secondaires globaux (GSI) séparément. Pour utiliser le calculateur de prix AWS, vous devez estimer tous ces aspects en supposant des chiffres approximatifs pour le WRU, le RRU et la taille du stockage afin d'obtenir votre estimation des coûts.

Ce modèle fournit un mécanisme et un modèle Microsoft Excel réutilisable pour estimer les facteurs de coût de base de DynamoDB, tels que les coûts d'écriture, de lecture, de stockage, de sauvegarde et de restauration, pour le mode capacité à la demande. Il est plus précis que le calculateur de prix AWS, et il prend en compte les exigences du tableau de base et des GSI indépendamment. Il prend également en compte le taux de croissance mensuel des données par article et prévoit les coûts sur trois ans.

Conditions préalables et limitations

Prérequis

Limites

  • Le modèle fournit un calcul approximatif, mais il ne convient pas à toutes les configurations. Pour obtenir une estimation plus précise, vous devez mesurer la taille individuelle de chaque article dans le tableau de base et les GSI.

  • Pour une estimation plus précise, vous devez prendre en compte le nombre prévu d'écritures (insertion, mise à jour et suppression) et de lectures pour chaque élément au cours d'un mois moyen.

  • Ce modèle permet d'estimer uniquement les coûts d'écriture, de lecture, de stockage, de sauvegarde et de restauration pour les prochaines années sur la base d'hypothèses de croissance des données fixes.

Outils

Services AWS

  • Amazon DynamoDB est un service de base de données NoSQL entièrement géré, offrant des performances rapides, prévisibles et évolutives.

Autres outils

  • AWS Pricing Calculator est un outil de planification basé sur le Web que vous pouvez utiliser pour créer des estimations pour vos cas d'utilisation d'AWS.

Bonnes pratiques

Pour réduire les coûts, prenez en compte les meilleures pratiques de conception DynamoDB suivantes.

  • Conception de clés de partition : utilisez une clé de partition à cardinalité élevée pour répartir la charge de manière uniforme.

  • Modèle de conception de liste de contiguïté : utilisez ce modèle de conception pour la gestion one-to-many et many-to-many les relations.

  • Index fragmenté : utilisez un index fragmenté pour vos GSI. Lorsque vous créez un GSI, vous spécifiez une clé de partition et éventuellement une clé de tri. Seuls les éléments de la table de base contenant une clé de partition de GSI correspondante apparaissent dans l'index fragmenté. Cela permet de réduire la taille des GSI.

  • Surcharge d'index : utilisez le même GSI pour indexer différents types d'élément.

  • Partitionnement d'écriture de GSI : partitionnez judicieusement afin de distribuer les données entre les partitions pour des requêtes plus efficaces et plus rapides.

  • Objets de grande taille : stockez uniquement les métadonnées dans la table, enregistrez le blob dans Amazon S3 et conservez la référence dans DynamoDB. Divisez les éléments volumineux en plusieurs éléments et indexez efficacement à l'aide des clés de tri.

Pour d'autres bonnes pratiques de conception, veuillez consulter le Guide du développeur Amazon DynamoDB.

Épopées

TâcheDescriptionCompétences requises

Obtenez la taille de l'article.

  1. Vérifiez le nombre de types d'articles que vous allez stocker dans votre table.

  2. Pour calculer la taille de chaque élément en kilo-octets, ajoutez les tailles de clé et de valeur de chaque attribut.

  3. Calculez la taille des éléments pour une table de base et pour chaque GSI.

Ingénieur de données

Estimez le coût d'écriture.

Pour estimer le coût d'écriture en mode capacité à la demande, vous devez d'abord mesurer le nombre de WRU qui seront consommées en un mois. Pour cela, vous devez prendre en compte les facteurs suivants :

  • Nombre d'opérations de création, de mise à jour et de suppression pour chaque élément au cours d'un mois.

  • Nombre de GSI disponibles. Examinez chaque indice indépendamment. 

    • Taille moyenne d'un élément d'index

    • Nombre de temps de synchronisation sur un index

  • Combien de nouveaux éléments (par exemple, des composants ou des produits) seront ajoutés au tableau chaque mois ? Le nombre d'éléments ajoutés peut être différent chaque mois, mais vous pouvez supposer un taux de croissance moyen en fonction de vos analyses de rentabilisation. 

Pour plus d'informations, consultez la section Informations supplémentaires.

Ingénieur de données

Estimez le coût de lecture.

Pour estimer le coût de lecture en mode à la demande, vous devez d'abord mesurer le nombre de RRU qui seront consommées en un mois. Pour cela, vous devez prendre en compte les facteurs suivants : 

  • Nombre de GSI disponibles. Examinez chaque indice indépendamment. 

    • Taille moyenne d'un élément d'index

  • Nombre moyen de lectures par produit et par mois.

  • Nombre total d'éléments disponibles (composants ou produits) dans le tableau DynamoDB.

Ingénieur de données, développeur d'applications

Estimez la taille et le coût du stockage.

Tout d'abord, estimez le besoin de stockage mensuel moyen en fonction de la taille de votre article indiquée dans le tableau. Calculez ensuite le coût du stockage en multipliant la taille du stockage par le prix par Go de stockage pour votre région AWS. 

Si vous avez déjà saisi des données pour estimer le coût d'écriture, il n'est pas nécessaire de les saisir à nouveau pour calculer la taille de stockage. Dans le cas contraire, pour estimer la taille du stockage, vous devez prendre en compte les facteurs suivants : 

  • Nombre d'éléments de données dans un module (produit) en fonction de la conception de votre table.

  • Taille moyenne de l'article en kilo-octets.

  • Nombre de GSI disponibles. Examinez chaque indice indépendamment. 

    • Taille moyenne d'un élément d'index

  • Combien de nouveaux produits seront ajoutés au tableau chaque mois ? Le nombre de nouveaux produits peut varier d'un mois à l'autre, mais vous pouvez supposer un taux de croissance moyen en fonction de vos analyses de rentabilisation. Cet exemple utilise en moyenne 10 millions de nouveaux produits par mois.

Ingénieur de données
TâcheDescriptionCompétences requises

Téléchargez le modèle Excel depuis la section Pièces jointes et adaptez-le à votre tableau des cas d'utilisation.

  1. Téléchargez le modèle Excel.

  2. Ajustez le module métier et les GSI en fonction de la conception de votre table.

Ingénieur de données

Entrez les informations dans le modèle Excel.

  1. Mettez à jour les informations de l'article dans la feuille. Mettez à jour les données uniquement dans les cellules oranges.

  2. Ajustez les numéros d'objets : combien pourrait-on ajouter au tableau chaque mois ?

  3. Mettez à jour les prix du WRU et du RRU par million pour votre région AWS.

  4. Mettez à jour les prix du stockage et de la sauvegarde par Go par mois pour votre région AWS.

  5. Mettez à jour le prix de récupération par Go pour votre région AWS.

Le modèle comporte trois éléments, ou entités : informations, métadonnées et relations. Il existe deux GSI. Pour votre cas d'utilisation, si vous avez besoin de plus d'éléments, créez de nouvelles lignes. Si vous avez besoin de plus de blocs GSI, copiez un bloc GSI existant et collez-le pour créer autant de blocs GSI que nécessaire. Ajustez ensuite les calculs des colonnes SUM et TOTAL.

Ingénieur de données

Ressources connexes

Références

Guides et modèles

Informations supplémentaires

Écrire un exemple de calcul des coûts

La conception du modèle de données DynamoDB indique trois éléments pour un produit et une taille moyenne de 4 Ko. Lorsque vous ajoutez un nouveau produit dans la table de base DynamoDB, il consomme le nombre d'éléments * (taille de l'article/unité d'écriture de 1 Ko) = 3 * (4/1) = 12 WRU. Dans cet exemple, pour écrire 1 Ko, le produit consomme 1 WRU. 

Lire l'exemple de calcul des coûts

Pour obtenir l'estimation du RRU, considérez la moyenne du nombre de fois que chaque article sera lu par mois. Par exemple, l'élément d'information sera lu en moyenne 10 fois par mois, l'élément de métadonnées sera lu deux fois et l'élément de relation sera lu cinq fois. Dans le modèle d'exemple, le nombre total de RRU pour tous les composants = nombre de nouveaux composants créés chaque mois * RRU par composant et par mois = 10 millions * 17 RRU = 170 millions de RRU par mois.

Chaque mois, de nouveaux éléments (composants ou produits) seront ajoutés et le nombre total de produits augmentera au fil du temps. Ainsi, les exigences en matière de RRU augmenteront également au fil du temps.

  • Pour le premier mois de RRU, la consommation sera de 170 millions.

  • Pour le deuxième mois, la consommation de RRU sera de 2 * 170 millions = 340 millions.

  • Pour le troisième mois, la consommation de RRU sera de 3* 170 millions = 510 millions.

Le graphique suivant montre la consommation mensuelle de RRU et les prévisions de coûts.

La consommation de RRU augmente plus fortement que le coût.

Notez que les prix indiqués dans le graphique ne sont fournis qu'à titre d'illustration. Pour créer des prévisions précises adaptées à votre cas d'utilisation, consultez la page de tarification d'AWS et utilisez ces prix dans la feuille Excel.

Exemples de calcul des coûts de stockage, de sauvegarde et de restauration

Le stockage, la sauvegarde et la restauration DynamoDB sont tous connectés les uns aux autres. La sauvegarde est directement liée au stockage, et la restauration est directement liée à la taille de la sauvegarde. À mesure que la taille de la table augmente, les coûts de stockage, de sauvegarde et de restauration correspondants augmentent proportionnellement.

Taille et coût du stockage

Les coûts de stockage augmenteront au fil du temps en fonction du taux de croissance de vos données. Par exemple, supposons que la taille moyenne d'un composant ou d'un produit dans la table de base et les GSI est de 11 Ko, et que 10 millions de nouveaux produits seront ajoutés chaque mois dans votre table de base de données. Dans ce cas, la taille de votre table DynamoDB augmentera (11 Ko x 10 millions) /1024/1024 = 105 Go par mois. Le premier mois, la taille de stockage de votre table sera de 105 Go, le deuxième mois, elle sera de 105 + 105 = 210 Go, etc.

  • Le premier mois, le coût du stockage sera de 105 Go* par Go pour votre région AWS. 

  • Le deuxième mois, le coût du stockage sera de 210 Go* par Go pour votre région.

  • Pour le troisième mois, le coût du stockage sera de 315 Go* par Go pour votre région.

Pour connaître la taille et le coût du stockage pour les trois prochaines années, consultez la section Taille du stockage et prévisions.

Coût de sauvegarde

Les coûts de sauvegarde augmenteront au fil du temps en fonction du taux de croissance de vos données. Lorsque vous activez la sauvegarde continue avec point-in-time-recovery (PITR), les frais de sauvegarde continue sont basés sur le nombre moyen de Go de stockage par mois. Au cours d'un mois civil, la taille moyenne des sauvegardes serait identique à la taille de stockage de votre table, bien que la taille réelle puisse être légèrement différente. Au fur et à mesure que de nouveaux produits seront ajoutés chaque mois, la taille totale du stockage et la taille des sauvegardes augmenteront au fil du temps. Par exemple, le premier mois, la taille de sauvegarde moyenne de 105 Go pourrait passer à 210 Go le deuxième mois.

  • Le premier mois, le coût de sauvegarde sera de 105 Go par mois*, prix de sauvegarde continue par Go pour votre région AWS. 

  • Pour le deuxième mois, le coût de sauvegarde sera de 210 Go par mois* prix de sauvegarde continue par Go pour votre région.

  • Pour le troisième mois, le coût de sauvegarde sera de 315 Go par mois* prix de sauvegarde continue par Go pour votre région.

  • et ainsi de suite

Le coût de sauvegarde est inclus dans le graphique de la section Taille du stockage et prévisions des coûts.

Coûts de recouvrement

Lorsque vous effectuez une sauvegarde continue avec PITR activé, les frais d'opération de restauration sont basés sur la taille de la restauration. Chaque fois que vous effectuez une restauration, vous payez en fonction des gigaoctets de données restaurées. Si la taille de votre table est importante et que vous effectuez une restauration plusieurs fois par mois, cela sera coûteux.

Pour estimer le coût de restauration, cet exemple suppose que vous effectuez une restauration PITR une fois par mois à la fin du mois. L'exemple utilise la taille de sauvegarde moyenne mensuelle comme taille des données de restauration pour le mois en question. Pour le premier mois, la taille de sauvegarde moyenne est de 105 Go, et pour la restauration à la fin du mois, la taille des données de restauration serait de 105 Go. Pour le deuxième mois, ce serait 210 Go, et ainsi de suite.

Le coût de restauration augmentera au fil du temps en fonction du taux de croissance de vos données.

  • Pendant le premier mois, le coût de restauration sera de 105 Go* par Go pour votre région AWS. 

  • Pour le deuxième mois, le coût de restauration sera de 210 Go* le prix de restauration par Go pour votre région.

  • Pour le troisième mois, le coût de restauration sera de 315 Go* par Go pour votre région.

Pour plus d'informations, consultez l'onglet Stockage, sauvegarde et restauration du modèle Excel et le graphique de la section suivante.

Taille du stockage et prévisions des coûts

Dans le modèle, la taille de stockage facturable réelle est calculée en soustrayant le niveau gratuit de 25 Go par mois pour la classe de table Standard. Dans la feuille, vous trouverez un graphique de prévision ventilé en valeurs mensuelles.

L'exemple de graphique suivant prévoit la taille de stockage mensuelle en Go, le coût de stockage facturable, le coût de sauvegarde à la demande et le coût de restauration pour les 36 prochains mois civils. Tous les frais sont en dollars américains. Le graphique montre clairement que les coûts de stockage, de sauvegarde et de restauration augmentent proportionnellement à l'augmentation de la taille du stockage.

La taille du stockage dépasse les trois mille alors que les coûts sont inférieurs à mille.

Notez que les prix utilisés dans le graphique sont fournis à titre d'illustration uniquement. Pour créer des prix précis adaptés à votre cas d'utilisation, consultez la page de tarification d'AWS et utilisez ces prix dans le modèle Excel.

Pièces jointes

Pour accéder au contenu supplémentaire associé à ce document, décompressez le fichier suivant : attachment.zip