在将数据存储在Redshift中之前,我应该使用哪些AWS技术来实时进行轻量级处理?

我想创建一些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)

2 years ago

提出问题的方法,但我认为#1是您提供的最佳选择 .

我个人会转而使用DynamoDB从Lamba接收数据 - 然后我会直接从那里查询数据,或者如果您的使用模式需要它,则将其用作Redshift的源 .

2 years ago

下面怎么样?

  • 如果要求不是实时的,那么直接写入S3将有所帮助,并且可以轻松扩展无限制 .

  • 在S3文件上配置事件处理程序,触发Lambda处理您的逻辑 .

  • 将其推送到Kinesis或Redshift进行进一步处理 . Redshift可以直接从开放数据格式的S3查询 .