我正在尝试为部署到AWS的流式数据/分析应用程序定价,并考虑使用Kinesis Firehose将数据转储到S3中。
我的问题是,在为此定价S3成本时,我需要弄清楚我需要多少PUT。
所以,我知道Firehose会缓冲数据然后刷新到S3,但是我不清楚它是否会编写一个单独的“文件”,其中包含到目前为止累积的所有记录,或者它是否会写入每个单独记录。
因此,假设我根据记录大小将缓冲区大小/间隔设置为最佳数量,那么S3 PUT的数量是否仍然等于Firehose执行的记录数量或刷新次数?
答案 0 :(得分:1)
我不相信你为Firehose对S3的写入操作支付额外费用。
您将另行收取与Amazon S3相关的费用 和Amazon Redshift使用,包括存储和读/写请求。 但是,您不需要为数据的数据传输费用付费 Amazon Kinesis Firehose加载到Amazon S3 和Amazon Redshift。 有关更多详细信息,请参阅Amazon S3定价和Amazon Redshift 定价。
答案 1 :(得分:1)
阅读了大量的AWS文档后,我恭敬地不同意S3不会向您收费的说法。
对于与Amazon S3相关的费用以及Amazon Redshift使用情况(包括存储和读/写请求),您将另行收费。但是,对于Amazon Kinesis Firehose加载到Amazon S3和Amazon Redshift的数据的数据传输费用,您不需要付费。有关更多详细信息,请参阅Amazon S3定价和Amazon Redshift定价。 [强调我的]
除了0.035美元/ GB之外,他们所说的不会向您收取任何费用
在最后的分析中,基于一些可调参数,您似乎控制了针对您的存储桶的PUT
请求的粗略数量:
问:什么是缓冲区大小和缓冲区间隔?
Amazon Kinesis Firehose将传入的流数据缓冲到特定大小或一段时间,然后再将其传送到目的地。您可以在创建传送流时配置缓冲区大小和缓冲区间隔。缓冲区大小以MB为单位,范围从1MB到128MB。缓冲区间隔以秒为单位,范围为60秒至900秒。
https://aws.amazon.com/kinesis/firehose/faqs/#creating-delivery-streams
除非它将记录收集并汇总到大文件中,否则我不明白为什么缓冲区大小和缓冲区间隔会有一个点...但是,如果没有启动服务并将其用于旋转,我可以(不幸的是)只是真的推测。
答案 2 :(得分:0)
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