Comment sauvegarder une table DynamoDB sur Amazon S3 ?

Dernière mise à jour : 17/12/2020

Comment sauvegarder une table Amazon DynamoDB à l'aide d'Amazon Simple Storage Service (Amazon S3) ?

Brève description

DynamoDB propose deux méthodes de sauvegarde intégrées :

Ces deux méthodes utilisent Amazon S3. Cependant, vous n'avez pas accès aux compartiments S3 qui sont utilisés pour ces sauvegardes. La fonction DynamoDB Export to S3 est le moyen le plus simple de créer des sauvegardes que vous pouvez télécharger localement ou utiliser dans un autre service AWS. Si vous avez besoin de plus de personnalisation, utilisez AWS Data Pipeline, Amazon EMR ou AWS Glue à la place.

Résolution

Fonction DynamoDB Export to S3

Pour voir un exemple d'utilisation de la fonction Export to S3, consultez Export Amazon DynamoDB Table Data to Your Data Lake in Amazon S3, No Code Writing Required.

  • Avantages : il s'agit de la méthode la plus simple. Cette fonction vous permet d'exporter des données entre les régions et les comptes AWS sans créer d'applications personnalisées ni écrire de code. Les exportations n'affectent pas la capacité de lecture ou la disponibilité de vos tables de production. Vous pouvez également configurer des exportations automatiques pour vous assurer que vos données sont sauvegardées régulièrement.
  • Inconvénients : cette fonction exporte les données de table au format DynamoDB JSON ou Amazon Ion uniquement. Si vous souhaitez exporter des données de table dans un autre format, utilisez l'une des méthodes suivantes à la place.

Data Pipeline

Utilisez AWS Data Pipeline pour exporter votre table vers un compartiment S3 du même compte ou d'un autre compte. Pour plus d'informations, consultez Importation et exportation de données DynamoDB à l'aide d'AWS Data Pipeline.

  • Avantages : Data Pipeline utilise Amazon EMR pour créer la sauvegarde, et la génération de script est automatiquement effectuée. Vous n'avez pas besoin d'apprendre Apache Hive ou Apache Spark pour accomplir cette tâche.
  • Inconvénients : cette méthode n'est pas aussi personnalisable que les autres. Si vous souhaitez créer des sauvegardes continues sur Amazon S3, choisissez l'une des autres méthodes. Elle n'est n'est pas non plus la méthode la plus appropriée si vous souhaitez utiliser la sauvegarde dans d'autres services AWS.

Amazon EMR

Utilisez Hive pour exporter vos données vers un compartiment S3. Pour plus d'informations, consultez Exportation de données à partir de DynamoDB. Vous pouvez également utiliser le connecteur open source emr-dynamodb-connector pour gérer votre propre méthode de sauvegarde personnalisée dans Spark ou Hive.

  • Avantages : si vous êtes un utilisateur actif d'Amazon EMR et que vous êtes à l'aise avec Hive ou Spark, ces méthodes offrent plus de contrôle que les méthodes Data Pipeline et Export to S3.
  • Inconvénients : si vous débutez avec Amazon EMR, ces méthodes ne sont pas les plus appropriées. Si vous n'utilisez pas Amazon EMR, mais que vous recherchez une solution continue et personnalisable, la méthode AWS Glue est la plus appropriée, même si AWS Glue ne vous est pas familier.

AWS Glue

Utilisez AWS Glue pour copier votre table vers Amazon S3. Pour plus d'informations, consultez How to export an Amazon DynamoDB table to Amazon S3 using AWS Step Functions and AWS Glue.

  • Avantages : cette méthode est la plus appropriée si vous recherchez une solution continue et personnalisable qui n'utilise pas Amazon EMR.
  • Inconvénients : si AWS Glue ne vous est pas familier, cette méthode peut être difficile, mais probablement pas aussi complexe que les méthodes Amazon EMR. Cette méthode est généralement plus onéreuse que la méthode Data Pipeline.

Si aucune de ces options n'offre la flexibilité souhaitée, utilisez l'API DynamoDB pour créer votre propre solution.


Cet article vous a-t-il été utile ?


Besoin d'aide pour une question technique ou de facturation ?