提问者:小点点

谷歌数据流定价流媒体模式


我是Dataflow的新手。我想使用Dataflow流模板“Pub/Sub Subscription to BigQuery”来传输一些消息,比如每天10000条。我的问题是关于定价的,因为我不明白在流模式下它们是如何计算的,是否启用了流引擎。我使用了谷歌计算器,它要求以下内容:
机器类型,作业使用的工作节点数,如果流或批处理作业,永久磁盘的GB数(PD),作业每月运行的小时数。

考虑最简单的情况,因为我不需要很多资源,即。

  • 机器类型:n1-标准1
  • 最大工作人员:1
  • 工作类型:流媒体
  • 价格:在us-中心1

案例1:禁用流媒体引擎

  • 使用vCPU的小时数=730小时(1个月始终处于活动状态)。流式模式总是如此吗?或者在流式模式中可能存在使用率较低的情况?
  • 持久磁盘:430 GBHDD,这是默认值。

所以我将支付:

  • (vCPU)730 x 0.069美元(成本vCPU/小时)=50.37美元
  • (PD)730 x 0.000054美元x 430 GB=16.95美元
  • (RAM)730 x 0.003557美元x 3.75 GB=9.74美元总计:77.06美元,由计算器确认。

案例2启用流媒体引擎。

  • 使用vCPU=730小时
  • 持久磁盘:30 GBHDD,这是默认值

所以我将支付:

  • (vCPU)30 x 0.069美元(成本vCPU/小时)=50.37美元
  • (PD)30 x 0.000054美元x 430 GB=1.18美元
  • (RAM)30 x 0.003557美元x 3.75 GB=9.74美元总计:61.29美元加上处理的数据量(使用流媒体引擎是额外的)

考虑到1024 Byte的消息,我们的流量为1024 x 10000 x 30 Bytes=0.307 GB,额外成本为0.307 GB x 0.018美元=0.005美元(几乎为零)。

实际上,使用这种流量,我将节省大约15美元使用流媒体引擎。我是对的吗?还有什么需要考虑的,或者我的假设和计算有什么问题吗?此外,考虑到数据量少,数据流真的适合这种用途吗?或者我应该以不同的方式处理这个问题?

提前谢谢你!


共1个答案

匿名用户

这不是错误的,但不是完全准确的。

在流模式下,您的数据流始终监听PubSub订阅,因此您需要全职工作。

在批次处理作业中,您通常启动批次,它执行作业,然后停止。

在您的比较中,您考虑有一个全职运行的批处理作业。这并非不可能,但我认为它不适合您的用例。

关于流式处理和批处理,一切都取决于您对实时的需求。

  • 如果您想以低延迟(几秒钟)摄取BigQuery中的数据以获得实时数据,流式传输是不错的选择
  • 如果数据只每小时或每天更新一次,批量是更合适的解决方案。

最新的评论,如果你的任务只是从PubSub获取消息并流式写入BigQuery,你可以考虑在Cloud Run或Cloud Functions上自己编码。每天只有10k条消息,它将是免费的!