AWS DynamoDB流入Redshift

时间:2018-06-10 05:20:31

标签: amazon-web-services amazon-dynamodb amazon-redshift amazon-kinesis-firehose amazon-dynamodb-streams

我们希望将数据从DynamoDB NoSQL连续移动到Redshift数据库中作为流。 我很难理解AWS中的所有新术语/技术。有

1)DynamoDB Streams

2)AWS Lambda

3)AWS Kinesis Firehose

有人可以提供每个的简要摘要。 什么是DynamoDB流? 这与AmazonKinesis有何不同? 阅读完所有资源后,这是我的假设理解,请在下面核实。

(a)我假设DynamoDB Streams,创建NoSQL的流数据,并开始发送它。这是发件人。

(b)Lambda允许人们只消耗时间,这是租用服务器处理DynamoDB流的时间。

(c)Kinesis FireHose转换DynamoDB流,并放入Redshift。

(d)AmazonQuickSight是他们的商业智能工具,

这是对词汇表术语的正确理解吗? 审核Stack link,需要更全面的信息。

enter image description here

1 个答案:

答案 0 :(得分:2)

Amazon Kinesis可以实时收集,处理和分析视频和数据流。

  • 使用 Kinesis Video Streams 来捕获,处理和存储视频流,以便进行分析和机器学习。
  • 使用 Kinesis数据流构建使用常用流处理框架分析数据流的自定义应用程序。
  • 使用 Kinesis Data Firehose 将数据流加载到AWS数据存储中。
  • 使用 Kinesis Data Analytics 分析使用SQL的数据流。

DynamoDB流与Kinesis数据流一样有效,但它是由DynamoDB中的新/已更改数据自动生成的。这允许在将新数据添加到DynamoDB表或更改数据时通知应用程序。

Kinesis Data Firehose 可以自动将流输出到Redshift(以及其他目的地)。

AWS Lambda 可以在不配置或管理服务器的情况下运行代码。您只需为您消耗的计算时间付费 - 当您的代码未运行时,您将免费使用。您可以为几乎任何类型的应用程序或后端服务运行代码 - 所有这些都是零管理。

Lambda对于检查通过流传输的数据非常有用。例如,它可用于操纵数据格式或跳过不需要的数据。

总而言之,您可以在 DynamoDB 中添加/修改数据。这将导致发送 DynamoDB Stream ,其中包含有关更改的信息。 AWS Lambda函数可以检查数据并操纵/删除邮件。然后,如果可以将数据转发到 Kinesis Data Firehose 以自动将数据插入 Amazon Redshift

以下是一个例子:

  • 银行交易存储在DynamoDB
  • DynamoDB Streams将其发送到Lambda函数
  • Lambda函数查看事务并检索有关银行帐户的信息。如果帐户中有足够的余额,则该功能退出并且不执行任何操作。
  • 如果帐户中 余额不足,则可以通过Amazon SES向帐户持有人发送电子邮件。然后,它可以将数据发送到Firehose,将其存储在Redshift中以报告逾期帐户。

将这些系统结合使用的好处是,它们可以以最少的编码提供丰富的应用程序功能。在这个例子中,只有Lambda函数需要编码 - 其余的工作通过将各种组件链接在一起。此外,它完全没有服务器 - 也就是说,不需要在Amazon EC2实例上运行应用程序。