Azure项目的技术选择

时间:2015-11-12 02:38:16

标签: events azure-storage azureservicebus azure-eventhub

有很多关于各种Azure数据存储风格的信息,但是我想就我的特定情况提出一些建议。

我正在组建一个宠物项目,以便更熟悉Azure技术,特别是服务总线/事件中心和数据存储平台。我想要创建的系统非常简单:接受中等负载的事件(不是IoT规模),保留它们,并使聚合数据可用,例如'用户A在过去一天/周/月/周期内有N类型的X事件/等等。'作为报告。

鉴于数据将是非常结构化的(例如用户,用户组,事件等),并且我将需要聚合功能,它表明关系存储可能是最合适的,但更昂贵。

我考虑的另一个替代方案是使用流分析等方法近乎实时地维护聚合数据,但不确定与更多数据仓库式解决方案相比这是否过度。

非常感谢任何建议/帮助。

约翰

2 个答案:

答案 0 :(得分:3)

约翰,

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

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

答案 1 :(得分:3)

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