Comment puis-je sauvegarder une table DynamoDB sur Amazon S3 ?

Lecture de 4 minute(s)
0

Je voudrais sauvegarder ma 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 conviennent à la sauvegarde de vos tables à des fins de reprise après sinistre. Toutefois, avec ces méthodes, vous ne pouvez pas utiliser les données pour des cas d'utilisation impliquant l'analyse de données ou des tâches d'extraction, de transformation et de chargement (ETL). La fonctionnalité DynamoDB Exporter vers S3 est le moyen le plus simple de créer des sauvegardes que vous pouvez télécharger localement ou utiliser avec un autre service AWS. Pour personnaliser le processus de création de sauvegardes, vous pouvez utiliser Amazon EMR ou AWS Glue.

Résolution

Fonctionnalité d'exportation DynamoDB vers S3

Grâce à cette fonctionnalité, vous pouvez exporter les données d'une table Amazon DynamoDB à tout moment pendant votre période de restauration instantanée vers un compartiment Amazon S3. Pour plus d'informations, consultez Exportation de données DynamoDB vers Amazon S3.

Pour un exemple d'utilisation de cette fonctionnalité, consultez Exporter les données des tables Amazon DynamoDB vers votre lac de données dans Amazon S3, aucune écriture de code n'est requise.

L'utilisation de la fonctionnalité d’exportation vers S3 vous permet d'utiliser vos données d'autres manières, notamment de la manière suivante :

  • Exécutez l'ETL sur les données exportées sur S3, puis réimportez les données dans DynamoDB
  • Retenir les instantanés historiques à des fins d'audit
  • Intégrez les données à d'autres services ou applications
  • Créez un lac de données S3 à partir des données DynamoDB, puis analysez les données provenant de différents services, tels qu'Amazon Athena, Amazon Redshift ou Amazon SageMaker
  • Exécutez des requêtes selon vos besoins sur vos données depuis Athena ou Amazon EMR sans affecter votre capacité DynamoDB

Notez les avantages et les inconvénients suivants lors de l'utilisation de cette fonctionnalité :

  • Avantages : Cette fonctionnalité vous permet d'exporter des données entre les Région AWS et les comptes sans créer d'applications personnalisées ni écrire de code. Les exportations n'affectent pas la capacité de lecture ni la disponibilité de vos tables de production.
  • Inconvénients : Cette fonctionnalité exporte les données du tableau au format DynamoDB JSON ou Amazon Ion uniquement. Pour réimporter les données de manière native avec un compartiment S3, consultez Importation de données DynamoDB depuis Amazon S3. Vous pouvez également créer un nouveau modèle ou utiliser AWS Glue, Amazon EMR ou le SDK AWS pour réimporter les données.

Amazon EMR

Utilisez Amazon EMR pour exporter vos données vers un compartiment S3. Pour ce faire, vous pouvez utiliser l'une des méthodes suivantes :

  • Exécutez des requêtes Hive/Spark sur des tables DynamoDB à l'aide de DynamoDBStorageHandler. Pour plus d'informations, consultez la section Exportation de données depuis DynamoDB.
  • Utilisez l'outil open source emr-dynamodb-tool sur GitHub pour exporter/importer des tables DynamoDB.

Notez les avantages et les inconvénients suivants lors de l'utilisation de ces méthodes :

  • Avantages : Si vous êtes un utilisateur actif d'Amazon EMR et que vous êtes à l'aise avec Hive ou Spark, vous pouvez mieux gérer vos configurations avec ces méthodes qu'avec la fonction native d’exportation vers S3. Vous pouvez également utiliser des clusters existants à cette fin.
  • Inconvénients : Ces méthodes nécessitent que vous créiez et mainteniez un cluster EMR. Si vous utilisez DynamoDBStorageHandler, vous devez connaître Hive ou Spark.

AWS Glue

Utilisez AWS Glue pour copier votre tableau sur Amazon S3. Pour plus d'informations, consultez Utilisation d'AWS Glue et exportation avec Amazon DynamoDB.

  • Avantages : AWS Glue étant un service sans serveur, vous n'avez pas besoin de créer et de gérer des ressources. Vous pouvez directement réécrire dans DynamoDB. Vous pouvez ajouter une logique ETL personnalisée pour les cas d'utilisation, tels que le filtrage et la conversion, lors de l'exportation de données. Vous pouvez également choisir votre format préféré parmi CSV, JSON, Parquet ou ORC. Pour plus d'informations, consultez la section Options de format des données pour les entrées et les sorties dans AWS Glue.
  • Inconvénients : Si vous choisissez cette option, vous devez savoir comment utiliser Spark. Vous devez également gérer le code source de votre tâche ETL AWS Glue. Pour plus d'informations, consultez « ConnectionType » : « dynamodb ».

Si aucune de ces options n'offre la flexibilité dont vous avez besoin, vous pouvez utiliser l'API DynamoDB pour créer votre propre solution.

Informations connexes

Demande d'exportation d'une table dans DynamoDB

Comment exporter une table Amazon DynamoDB vers Amazon S3 à l'aide d'AWS Step Functions et d'AWS Glue

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 9 mois