从 DynamoDB 创建数据湖 table

Creating a data lake from a DynamoDB table

我们有一项服务,其中 DynamoDB table ~50GB 是我们的功能存储库,我们将其用于实时在线应用程序。

我们想从这个 table 创建一个数据湖,用于历史数据、模型训练和分析洞察。我们要保证数据湖数据的 30 分钟“新鲜度”w.r.t。原来的table.

但是,我对什么是好的架构感到困惑:我对数据湖的理解是您应该使用存储服务(即 S3)来存储 原始数据 没有处理。然后,您执行 ETL 作业,在用于任何应用程序之前转换、处理和过滤数据(例如,使用 Glue)。

但我的疑问是: 这是否意味着我们必须每 30 分钟将 DynamoDB table 转储到 S3 中?这可能是 easily done,但听起来很奇怪(这将导致 ~876TB/年)。

我是否遗漏了数据湖管道中的某些内容?

您遇到了一个常见问题,AWS 正在积极处理它。

如果您希望从 dynamodb 持续同步到 S3,可以使用包括 dynamodb 流在内的现有技术。我建议 checking out this project in awslabs。坦率地说,它付出了很多努力。

不过,我相信 AWS 即将发布一款产品,无需代码,只需点击几下即可使 dynamodb 表和 S3 存储桶保持同步。它被称为 AWS Glue Elastic Views. The product is in preview. They announced the product in December 2020 so I'm hoping it available soon. There is also a form you can fill in to join the trial 但不能保证 AWS 会提供访问权限。