AWS 上的数据存储和分析

Data Storage and Analytics on AWS

我在 AWS 上有一项数据分析要求。我对大数据处理的了解有限,但基于我的 分析,我想出了一些办法。
要求是通过每 30 分钟调用 Provider API 来收集数据。 (数据摄取) 数据主要是结构化的。 此数据需要存储在存储器中(S3 数据湖或 Red Shift.. 不确定),并且此数据中的各种 aggregations/dimensions 将通过 REST API 提供。 未来需要对原始数据进行 运行 ML 算法,因此需要相应地决定存储。那么基于此,您能否建议:

  1. 如何摄取数据(Lambda 以预定的时间间隔 运行 并提取数据,存储在存储中或在 AWS 中提取数据的任何更好的方法)
  2. 如何存储(存储在S3或RedShift中)
  3. 数据分析(目前有一些月度、周度聚合),可以用什么工具?如果我在 S3 中存储数据,使用什么工具。
  4. 通过 API 公开分析结果。 (希望我可以在上一步中使用Lambda查询Analytics引擎)

摄取很简单。如果检索比较快,那么调度 AWS Lambda 函数是个好主意。

但是,您其他问题的所有答案实际上都取决于您将如何使用数据,然后倒推.

对于 Storage,Amazon S3 至少对检索数据的初始存储有意义,但可能(或可能不)适合 API 和分析。

如果您要提供API,那么您将需要考虑API代码(例如使用AWSAPI 网关)将需要 检索数据 。例如,它是否与原始检索到的数据块相同,或者是否需要复杂的转换或可能来自其他位置和时间间隔的数据的组合。这将有助于确定应如何存储数据以便于检索。

数据分析 需求也将推动数据的存储方式。考虑一个 SQL 数据库是否足够。如果有数百万和数十亿行,您可以考虑使用 Amazon Redshift。如果数据保存在 Amazon S3 中,那么您也许可以使用 Amazon Athena。正确答案完全取决于您打算如何访问和处理数据。

底线:首先考虑您将如何使用数据,然后确定最合适的存储位置。我们无法提供通用答案。