Azure SQL Edge 中的数据流式处理
重要
Azure SQL Edge 将于 2025 年 9 月 30 日停用。 有关详细信息和迁移选项,请参阅停用通知。
注意
Azure SQL Edge 不再支持 ARM64 平台。
Azure SQL Edge 提供了称为 Transact-SQL (T-SQL) 流式处理的数据流式处理功能的原生实现。 它提供实时数据流式处理、分析和事件处理,可同时分析和处理来自多个源的大量快速流数据。 T-SQL 流式处理是使用高性能流式处理引擎构建的,该引擎与为 Azure 中的 Azure 流分析提供支持的引擎相同。 此功能支持的一组功能与在边缘上运行的 Azure 流分析提供的功能类似。
与流分析一样,T-SQL 流式处理可以识别从多个 IoT 输入源(包括设备、传感器和应用程序)提取的信息中的模式和关系。 你可以使用这些模式来触发操作并启动工作流。 例如,你可以创建警报、将信息馈送到报表或可视化效果解决方案,或者存储数据供以后使用。
T-SQL 流式处理可以帮助你:
- 分析来自 IoT 设备的实时遥测数据流。
- 对自动驾驶和无人驾驶车辆生成的数据使用实时分析。
- 对高价值的工业或制造业资产使用远程监视和预测性维护。
- 在农业或能源农场中对 IoT 传感器读数使用异常情况检测和模式识别。
T-SQL 流式处理的工作原理是什么?
T-SQL 流式处理的工作方式与 Azure 流分析完全相同。 例如,它使用流式处理作业的概念来处理实时数据流。
流分析作业包括:
流输入:此项定义了要从中读取数据流的数据源的连接。 Azure SQL Edge 目前支持以下流输入类型:
- Edge 中心
- Kafka(对 Kafka 输入的支持目前仅适用于 Azure SQL Edge 的 Intel/AMD64 版本。)
流输出:此项定义了要将数据流写入到其中的数据源的连接。 Azure SQL Edge 目前支持以下流输出类型
- Edge 中心
- SQL(SQL 输出可以是 Azure SQL Edge 实例中的本地数据库,也可以是远程 SQL Server 或 Azure SQL 数据库。)
流查询:这定义了在将输入流写入流输出之前,对输入流应用的转换、聚合、过滤、排序和联接。 流查询基于流分析使用的同一查询语言。 有关详细信息,请参阅流分析查询语言。
重要
与流分析不同,T-SQL 流式处理目前不支持使用引用数据进行查找或在流作业中使用 UDF 和 UDA 的引用数据。
注意
T-SQL 流式处理仅支持流分析支持的部分语言外围应用。 有关详细信息,请参阅流分析查询语言。
限制
T-SQL 流式处理存在以下限制和局限。
- 在任何特定时间,只有一个流式处理作业可以处于活动状态。 必须先停止已在运行的作业,然后才能启动另一个作业。
- 每个流式处理作业执行都是单线程的。 如果流式处理作业包含多个查询,则按串行顺序计算每个查询。
- 当你在 Azure SQL Edge 中停止流式处理作业时,可能会有一些延迟,然后才能开始下一个流式处理作业。 存在此延迟的原因是,基础流式处理进程需要停止以响应停止作业请求,然后再重启以响应启动作业请求。
- 对于 kafka 流,T-SQL 流式处理最多处理 32 个分区。 尝试配置更大的分区计数会导致错误。