Events 项目的Azure技术选择

Events 项目的Azure技术选择,events,azure-storage,azureservicebus,azure-eventhub,Events,Azure Storage,Azureservicebus,Azure Eventhub,有很多关于各种Azure数据存储风格的信息,但是我想就我的特定场景征求一些建议 我正在整理一个宠物项目,以便更加熟悉Azure技术,特别是服务总线/事件中心和数据存储平台。我想要创建的系统相当简单:接受中等负载的事件(而不是物联网规模),将它们持久化,并将聚合数据作为报告提供,例如“用户a在过去的一天/一周/一个月内有N个X类型的事件” 考虑到数据将是非常结构化的(例如用户、用户组、事件等),并且我需要聚合功能,这表明关系存储可能是最合适的,尽管成本更高 我考虑过的另一个替代方案是使用流分析之类

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

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

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

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

如有任何建议/帮助,将不胜感激

约翰

约翰

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

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

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


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

我同意Daniel的观点。SQLAzure可能是满足您的关系数据需求的方法。另一个调查流媒体和分析的更大工作负载的选项是Azure Data Lake()

我同意Daniel的观点。SQLAzure可能是满足您的关系数据需求的方法。针对流媒体和分析的更大工作负载进行调查的另一个选项是Azure Data Lake()