我想使用 Amazon Simple Storage Service (Amazon S3) 備份我的 Amazon DynamoDB 資料表。
簡短描述
DynamoDB 提供兩種內建備份方法:
這兩種方法都適用於備份資料表以進行災難復原用途。但是,使用這些方法時,您無法將資料用於涉及資料分析或擷取、轉換和載入 (ETL) 任務的使用案例。DynamoDB 匯出至 S3 功能是最簡單的備份建立方法,建立的備份可供您在本機下載或搭配其他 AWS 服務使用。若要自訂建立備份的程序,您可以使用 Amazon EMR 或 AWS Glue。
解決方法
DynamoDB 匯出至 S3 功能
使用此功能時,您可以隨時在時間點復原時段內將資料從 Amazon DynamoDB 資料表匯出至 Amazon S3 儲存貯體。如需詳細資訊,請參閱將 DynamoDB 資料匯出至 Amazon S3。
如需如何使用此功能的範例,請參閱將 Amazon DynamoDB 資料表資料匯出至 Amazon S3 中的資料湖,無需撰寫程式碼。
使用匯出至 S3 功能可讓您以下列其他方式使用資料:
- 在 S3 上對匯出的資料執行 ETL,然後將資料匯入回 DynamoDB
- 保留歷史快照以進行稽核
- 將資料與其他服務或應用程式整合
- 從 DynamoDB 資料建立 S3 資料湖,然後分析來自各種服務的資料,例如 Amazon Athena、Amazon Redshift 或 Amazon SageMaker
- 視需要對 Athena 或 Amazon EMR 的資料執行查詢,而不會影響 DynamoDB 容量
使用此功能時,請注意以下優點和缺點:
Amazon EMR
使用 Amazon EMR 將資料匯出至 S3 儲存貯體。您可以使用以下任一方法來執行此操作:
使用這些方法時,請注意以下優點和缺點:
- 優點:如果您是活躍的 Amazon EMR 使用者,並且熟悉 Hive 或 Spark,則使用這些方法可以比使用原生匯出至 S3 功能更好地管理組態。您也可以將現有叢集用於此用途。
- **缺點:**這些方法需要您建立和維護 EMR 叢集。如果您使用 DynamoDBStorageHandler,那麼您必須熟悉 Hive 或 Spark。
AWS Glue
使用 AWS Glue 將您的資料表複製到 Amazon S3。如需詳細資訊,請參閱使用 AWS Glue 和 Amazon DynamoDB 匯出。
- **優點:**由於 AWS Glue 是無伺服器服務,因此您不需要建立和維護資源。您可以直接寫回 DynamoDB。匯出資料時,您可以為使用案例 (例如篩選和轉換) 新增自訂 ETL 邏輯。您也可以從 CSV、JSON、Parquet 或 ORC 中選擇您偏好的格式。如需詳細資訊,請參閱 AWS Glue 中輸入和輸出的資料格式選項。
- **缺點:**如果您選擇此選項,您必須知道如何使用 Spark。您也必須維護 AWS Glue ETL 任務的原始碼。如需詳細資訊,請參閱 "connectionType": "dynamodb"。
若這些選項皆無法提供您所需的彈性,則可以使用 DynamoDB API 建立自己的解決方案。
相關資訊
在 DynamoDB 中請求匯出資料表
如何使用 AWS Step Functions 和 AWS Glue 將 Amazon DynamoDB 資料表匯出至 Amazon S3