Amazon Kinesis Firehose缓冲到S3

时间:2015-11-03 16:17:50

标签: amazon-web-services amazon-s3 amazon-kinesis amazon-kinesis-firehose

我正在尝试为部署到AWS的流式数据/分析应用程序定价,并考虑使用Kinesis Firehose将数据转储到S3中。

我的问题是,在为此定价S3成本时,我需要弄清楚我需要多少PUT。

所以,我知道Firehose会缓冲数据然后刷新到S3,但是我不清楚它是否会编写一个单独的“文件”,其中包含到目前为止累积的所有记录,或者它是否会写入每个单独记录。

因此,假设我根据记录大小将缓冲区大小/间隔设置为最佳数量,那么S3 PUT的数量是否仍然等于Firehose执行的记录数量或刷新次数?

3 个答案:

答案 0 :(得分:1)

我不相信你为Firehose对S3的写入操作支付额外费用。

  

您将另行收取与Amazon S3相关的费用   和Amazon Redshift使用,包括存储和读/写请求。   但是,您不需要为数据的数据传输费用付费   Amazon Kinesis Firehose加载到Amazon S3 和Amazon Redshift。   有关更多详细信息,请参阅Amazon S3定价和Amazon Redshift   定价。

https://aws.amazon.com/kinesis/firehose/pricing/

答案 1 :(得分:1)

阅读了大量的AWS文档后,我恭敬地不同意S3不会向您收费的说法。

  

对于与Amazon S3相关的费用以及Amazon Redshift使用情况(包括存储和读/写请求),您将另行收费。但是,对于Amazon Kinesis Firehose加载到Amazon S3和Amazon Redshift的数据的数据传输费用,您不需要付费。有关更多详细信息,请参阅Amazon S3定价和Amazon Redshift定价。 [强调我的]

     

https://aws.amazon.com/kinesis/firehose/pricing/

除了0.035美元/ GB之外,他们所说的不会向您收取任何费用升级以外的费用,但您需要支付与您的广告资源的互动费用。 (入站到数据桶的数据始终没有实际的每千兆字节转移费用。)

在最后的分析中,基于一些可调参数,您似乎控制了针对您的存储桶的PUT请求的粗略数量:

  

问:什么是缓冲区大小和缓冲区间隔?

     

Amazon Kinesis Firehose将传入的流数据缓冲到特定大小或一段时间,然后再将其传送到目的地。您可以在创建传送流时配置缓冲区大小和缓冲区间隔。缓冲区大小以MB为单位,范围从1MB到128MB。缓冲区间隔以秒为单位,范围为60秒至900秒。

     

https://aws.amazon.com/kinesis/firehose/faqs/#creating-delivery-streams

除非它将记录收集并汇总到大文件中,否则我不明白为什么缓冲区大小和缓冲区间隔会有一个点...但是,如果没有启动服务并将其用于旋转,我可以(不幸的是)只是真的推测。

答案 2 :(得分:0)

对于运动学进行的任何操作,而不是单个对象,成本为一个S3 PUT。 因此,一冲的消防水带就是一付:

https://docs.aws.amazon.com/whitepapers/latest/building-data-lakes/data-ingestion-methods.html

https://forums.aws.amazon.com/thread.jspa?threadID=219275&tstart=0