我想创建一些HTTP点,移动客户端,服务器和物联网设备将发布数据 . 我可能需要对事件进行预处理并对其进行操作 . 最终,我想使用Domo,Cloud Business Intelligence |访问所有原始数据并进行查询Chartio或Tableau .
我需要了解以下架构的不同之处和优势:
-
AWS API管理Lambda Redshift:我可以创建一个HTTP endpoints 和一个lambda函数,它将解析Redshift中的数据,计算和存储
-
Kinesis Firehose Redshift(如何通过HTTP流式传输数据?)
-
S3 Kinesis Redshift(我可以使用将数据写入S3的HTTP endpoints )
-
S3 Kinesis Firehose Redshift
-
S3 Lambda Redshift
我觉得3,4和5会因为S3而产生冗余 . 与使用Kinesis相比,Lambda函数的执行是否会产生巨大的成本开销?
2 回答
提出问题的方法,但我认为#1是您提供的最佳选择 .
我个人会转而使用DynamoDB从Lamba接收数据 - 然后我会直接从那里查询数据,或者如果您的使用模式需要它,则将其用作Redshift的源 .
下面怎么样?
如果要求不是实时的,那么直接写入S3将有所帮助,并且可以轻松扩展无限制 .
在S3文件上配置事件处理程序,触发Lambda处理您的逻辑 .
将其推送到Kinesis或Redshift进行进一步处理 . Redshift可以直接从开放数据格式的S3查询 .