仅将新记录从 DynamoDB 备份到 S3 并将它们加载到 RedShift
Backup only new records from DynamoDB to S3 and load them into RedShift
我看到类似的问题已经存在了:
Backup AWS Dynamodb to S3
Copying only new records from AWS DynamoDB to AWS Redshift
Loading data from Amazon dynamoDB to redshift
不幸的是,大多数都已经过时了(因为亚马逊推出了新服务)and/or有不同的答案。
就我而言,我有两个数据库(RedShift 和 DynamoDB),我必须:
- 使 RedShift 数据库保持最新
- 在 S3 上存储数据库备份
为此,我想使用该方法:
- 仅备份 new/modified 条记录
在一天结束时从 DynamoDB 到 S3。 (每天 1 个文件)
- 使用 S3 中的文件更新 RedShift 数据库
所以我的问题是最有效的方法是什么?
我阅读了 this tutorial,但我不确定 AWS Data Pipeline 是否可以配置为 "catch" 仅来自 DynamoDB 的新记录。如果那不可能,则每次都扫描整个数据库不是一种选择。
提前致谢!
你可以使用 Amazon Lambda with dynamodb stream (documentation)
您可以配置您的 lambda 函数以获取更新的记录(来自 dynamodb 流),然后更新 redshift db
我看到类似的问题已经存在了:
Backup AWS Dynamodb to S3
Copying only new records from AWS DynamoDB to AWS Redshift
Loading data from Amazon dynamoDB to redshift
不幸的是,大多数都已经过时了(因为亚马逊推出了新服务)and/or有不同的答案。
就我而言,我有两个数据库(RedShift 和 DynamoDB),我必须:
- 使 RedShift 数据库保持最新
- 在 S3 上存储数据库备份
为此,我想使用该方法:
- 仅备份 new/modified 条记录 在一天结束时从 DynamoDB 到 S3。 (每天 1 个文件)
- 使用 S3 中的文件更新 RedShift 数据库
所以我的问题是最有效的方法是什么?
我阅读了 this tutorial,但我不确定 AWS Data Pipeline 是否可以配置为 "catch" 仅来自 DynamoDB 的新记录。如果那不可能,则每次都扫描整个数据库不是一种选择。
提前致谢!
你可以使用 Amazon Lambda with dynamodb stream (documentation)
您可以配置您的 lambda 函数以获取更新的记录(来自 dynamodb 流),然后更新 redshift db