0

有很多关于各种 Azure 数据存储风格的信息,但是我想针对我的特定场景寻求一些建议。

我正在整理一个宠物项目,以更加熟悉 Azure 技术,特别是服务总线/事件中心和数据存储平台。我想要创建的系统相当简单:接受中等负载的事件(不是 IoT 规模),将它们持久化,并提供聚合数据,例如“用户 A 在过去一天/一周/一个月内有 N 个 X 类型的事件/ ETC。' 作为报告。

鉴于数据将非常结构化(例如用户、用户组、事件等),并且我将需要聚合功能,这表明关系存储可能是最合适的,尽管成本更高。

我考虑过的另一种选择是使用流分析之类的东西以近乎实时的方式维护聚合数据,但与更多的数据仓库式解决方案相比,不确定这是否是多余的。

任何建议/帮助将不胜感激。

约翰

4

2 回答 2

3

约翰,

Azure SQL 将是一个不错的选择,或者如果这被证明过于昂贵,则托管在 VM 上的常规 SQL。你可以创建一个 Azure 服务总线来保存传入的请求,然后在 1 个或多个辅助角色上创建竞争使用者来监视和处理消息。每个使用者都可以运行 SQL 并将数据保存在为调用者创建和“预聚合”的新表中,或者您可以将信息以与您的报告工具相匹配的结构化格式(即 JSON)保存到 Azure BLOB 存储中. 聚合信息的 BLOB 存储将是最具成本效益的,并且可以减轻 SQL 的压力。

另一种方法是 HDInsight,它也可以在批处理模式下聚合信息。我猜 SQL/HDInsight 之间的选择取决于基本(非聚合)信息的本机格式。

于 2015-11-12T14:47:20.910 回答
3

我同意丹尼尔。SQL Azure 可能是满足您的关系数据需求的方法。调查更大的流和分析工作负载的另一个选择是 Azure Data Lake ( https://azure.microsoft.com/en-us/solutions/data-lake/ )

于 2015-11-12T23:52:41.173 回答