【发布时间】:2021-10-22 14:58:40
【问题描述】:
这是一个与时间一样古老的故事。该企业希望获取数十亿行(2-30 亿行),将它们从 Oracle 流式传输到云(在我们的例子中为 AWS)。到现在为止还挺好。然后他们想在云端处理它们,在这里仍然可以。
然后他们希望每天更新约 5% 的行子集(称为 1.25 亿行)并再次处理数据。
我并不是说这不合理,我只是不确定解决这个问题的最有效方法。对于某些背景,我是一名高级全栈开发人员,拥有丰富的 AWS 和大型数据集工作经验,但绝不是大数据专家。此外,如今云中的大数据选项如此之多,很难知道从哪里开始。
那么问题来了:
是否有针对此用例构建的产品(最好在 AWS 中)?
由于它是每天进行的,我们需要能够有效(快速)更新所有行,并能够在第二天到来之前完成我们的处理,整个过程重新开始。
这里的关键是更新的效率。像 Glue 这样的东西会分崩离析,因为数据会有太多的分区(即单个表中有大约 50-1 亿个)。
【问题讨论】:
-
他们是使用 S3 来保存数据还是 Redshift?
-
还有,为什么说单表有50-1亿个分区?
-
最后:您是否有足够的带宽每天将 1 亿行移动到 AWS?
-
S3。我想分区的东西有点模棱两可,因为你可以对任何东西进行分区,但考虑到数据的性质,它在逻辑上是以这种方式分组的。无需详细说明,将它们视为具有 26(平均)行一直到 1000 行的客户。您可以按不同的粒度对分区进行分组,尽管它可能有些随意,并且最终不得不更新更多数据,因为更大的分区。请记住,在 Glue 中,更新是整个表或一个或多个分区。
-
带宽不是问题。
标签: amazon-web-services bigdata