【发布时间】:2021-12-14 08:29:09
【问题描述】:
首先,我是流分析和处理的初学者。
我正在探索 Azure 流分析,遇到了各种设计,大部分时间流程都是这样的。
数据流 (Azure Eventhub) -> 配置为 ASA 的输入 -> 一些查询 -> 输出到目标,如 Sql Server、Power BI、事件中心。
现在假设现在有一分钟内有 10000 个事件,ASA 正在借助一些窗口功能(例如 Tumbling 窗口等)对其进行处理。然后输出到 Azure Sql 数据库。现在在这里如果我们看一下Sql Server中可能有很多插入并且它包含太多的数据作为数据进来。
-
这是使用 SQL Server 的好解决方案吗?如果一天中有太多的事件,那么您不认为它会成为性能瓶颈。
-
任何建议/指导或示例将不胜感激。
【问题讨论】:
-
我还强烈建议您查看Azure Architecture Center,它有很多针对各种问题的不同解决方案的示例。喜欢this 和this。 This module 也可能有帮助。
-
@MattStannett 感谢您的评论。我已经经历了其中的一些并明白了这一点。我的问题是,如果每秒有 1000 个事件,那么每天基本的事件过程太多,它会产生那么多的输出,并且如果有很多用户看到该报告,那么再次查询这些数据库就会成为问题。
-
弗洛里安在下面提供了一个非常棒的答案——一定要看看。关于查询对数据库的潜在影响的问题,您有几个选择: 1. 确保为有问题的表添加良好的索引,并且只允许命中这些索引的查询。 2. 分离您的运营和报告数据存储。数据可以登陆操作数据存储,然后通过报告同步,这样运行报告不会影响摄取。 3. 您可能需要查看数据聚合或减少用户可以获取的数据窗口。
标签: azure azure-sql-database azure-stream-analytics