移动数据时数据流优于云功能的好处?

Posted

技术标签:

【中文标题】移动数据时数据流优于云功能的好处?【英文标题】:Benefits with Dataflow over cloud functions when moving data? 【发布时间】:2018-12-14 07:27:18 【问题描述】:

我对 GCP 比较陌生,刚刚开始在 GCP 上设置/评估我的组织架构。

场景: 数据将流入发布/订阅主题(高频率、低数据量)。目标是将这些数据移动到大表中。据我了解,您可以使用触发主题的云功能或使用 Dataflow 来做到这一点。

现在我对云功能有了满意的体验,所以这将是我的选择。

我没有看到选择其中一个的好处。所以我的问题是什么时候选择这些产品?

谢谢

【问题讨论】:

【参考方案1】:

您的需求听起来相对简单,而 Dataflow 可能对于您想要做的事情来说太过分了。如果云功能可以满足您的需求,他们可能会坚持下去。我经常发现简单性是可维护性的关键。

但是,当您需要在将这些事件存储到 BigTable 之前执行转换(例如按用户合并这些事件)时,这就是 Dataflow 真正的亮点:

https://beam.apache.org/documentation/programming-guide/#groupbykey

【讨论】:

【参考方案2】:

两种解决方案都可以。如果您的 pub/sub 流量增长到大量数据,数据流将更好地扩展,但 Cloud Functions 应该适用于少量数据;我会查看此页面(尤其是速率限制部分)以确保您适合 Cloud Functions:https://cloud.google.com/functions/quotas

要考虑的另一件事是,Dataflow 可以保证对您的数据进行一次性处理,因此 BigTable 中不会出现重复数据。 Cloud Functions 不会开箱即用地为您执行此操作。如果您使用函数方法,那么您将需要确保 Pub/Sub 消息一致地确定写入哪个 BigTable 单元格;这样,如果函数被重试多次,相同的数据将简单地覆盖相同的 BigTable 单元格。

【讨论】:

以上是关于移动数据时数据流优于云功能的好处?的主要内容,如果未能解决你的问题,请参考以下文章

使用 QOpenGLWidget 优于普通 QWidget 的好处

在操作 jQuery 元素时,`array.join` 优于字符串连接的好处?

译PostgreSQL优于其他开源数据库的特性:Part I

数据存储:私有云的好处

ArrayList和LinkedList的区别是啥?

使用PDO操作数据库的好处