我们有一个服务,其中一个约50GB的DynamoDB表是我们的特性存储库,我们将其用于实时在线应用程序。
我们想从这个表中创建一个数据湖,用于历史数据、模型训练和分析见解。我们要保证30分钟的"新鲜"。数据湖数据W.R.T.原始表
然而,我对什么是一个好的架构感到困惑:我对数据湖的理解是你应该使用存储服务(即S3)来存储原始数据没有处理。然后,执行ETL作业,在使用任何应用程序之前转换,处理和过滤数据(例如,使用Glue)。
但这是我的疑问:这是否意味着我们必须每30分钟将DynamoDB表转储到S3中?这很容易做到,但听起来很奇怪(这将导致~876TB/年)。
我在数据湖管道中错过了什么吗?
您遇到了一个常见问题,而且AWS正在积极解决这个问题。
如果您想要从dynamodb持续同步到S3,可以使用现有的技术,包括dynamodb流。我建议用平板电脑查看这个项目。坦率地说,这相当费功夫。
然而,我相信AWS即将发布一个产品,它将保持dynamodb表和S3桶同步,不需要代码,只需点击几下。它被称为AWS Glue Elastic Views。产品还在预览阶段。他们在2020年12月宣布了这款产品,所以我希望它很快就能上市。您还可以填写一个表格来加入试用,但不保证AWS会提供访问权限。