描述 SQL Edge

已完成

许多组织都在 IoT 基础结构上投入了大量资金。 典型的 IoT 解决方案体系结构包括负责读取环境传感器以生成客户数据的 IoT 设备。 通常使用 Edge 设备在站点上处理此数据。 此外,IoT Edge 设备还可以运行包含自定义业务逻辑或轻量版本的云服务(例如 Azure 流分析、Azure 机器学习、Azure Functions、Azure SQL )的 Docker 兼容容器。 IoT Edge 的好处是,如果需要采取任何操作,将会在本地网络上进行处理,从而加快了反馈循环,同时最大程度地降低了云处理和带宽成本。

An architecture diagram displays IoT devices providing customer data to an IoT Edge device running various modules then forwarding data to IoT Hub in Azure.

Azure SQL Edge 是专为 IoT 工作负载设计的经过优化的关系数据库引擎。 它提供流式传输、处理和分析关系与非关系数据(例如 JSON、图和时序数据)的功能。 Azure SQL Edge 是基于最新版 SQL Server 数据库引擎构建的,SQL Server 和 Azure SQL 也使用该引擎作为基础。 Azure SQL Edge 为 Edge 带来了 T-SQL 编程、行业领先的性能、安全性和查询处理功能。

好处

熟悉 T-SQL 语法和工具

SQL 开发人员和管理员可以继续使用熟悉的 T-SQL 语法和工具,因为 Azure SQL Edge 基于 SQL Server 数据库引擎。 可用的工具包括 Azure 门户、SQL Server Management Studio、Azure Data Studio、Visual Studio Code 和 Visual Studio 中的 SQL Server Data Tools。

便携性

Azure SQL Edge 是 SQL Server 数据库引擎的容器化版本,专门针对 IoT 进行了优化。 Azure SQL Edge 可部署到能够运行 IoT Edge 运行时的各种基于 Windows 和 Linux 的服务器,从成熟的强大服务器到基于 ARM 的小型设备,范围相当广泛。

支持多个连接状态和数据同步

在 IoT 中,Internet 连接并不总是可以建立或可靠建立。 因此,IoT Edge 模块需要支持所有连接状态。 Azure SQL Edge 支持连接、断开连接和混合半连接方案。 增量数据同步实现的,具体方法是使用 Azure SQL 数据同步服务并配置同步组,在 Azure SQL 和 SQL Server 实例中跨多个数据库双向同步表。

下图描述了同步过程。 同步过程使用 Azure SQL Edge 上的同步代理将数据与中心数据库同步。 从中心的角度来看,同步过程由同步应用驱动,而存储同步元数据和日志的同步数据库中提供的详细信息会引导该应用。

A diagram depicting the Azure SQL Data Sync process between an Azure SQL Edge database and an Azure SQL database.

内置数据流式处理和机器学习

Azure SQL Edge 具有从多个输入和输出流式传输数据的内置支持。 此功能借用了为 Azure 流分析提供支持的同种技术,并允许使用异常情况检测、时间窗口、聚合和筛选对传入时序数据进行自检。 Azure SQL Edge 还具有支持查询时序数据的 T-SQL 函数。 此外,Azure SQL Edge 还支持机器学习推理和 PREDICT 语句。

安全注意事项

Azure SQL Edge 上的安全性带来了来自 SQL Server 数据库引擎的数据加密、分类和访问控制。 此外,Azure SQL Edge 还提供行级安全性、动态数据掩码和透明数据加密 (TDE) 作为额外的安全优势。 它还有利于对使用证书或非对称密钥创建的任何备份文件进行加密。

至于网络传输,Azure SQL Edge 利用传输层安全性 (TLS) 和证书来加密所有通信。 最后,Microsoft Defender for IoT 提供集中统一的安全解决方案来发现和识别 IoT 设备、漏洞和威胁。 与任何与数据相关的解决方案一样,确保向数据库用户授予对数据库对象的最低权限也是谨慎的做法。

从 Azure 市场部署 Azure SQL Edge

在 Azure 市场中,Azure SQL Edge 提供了两个计划,Azure SQL Edge Developer(仅用于开发,限制为 4 核和 32 GB 内存)和 Azure SQL Edge(用于生产,限制为 8 核和 64 GB 内存)。

作为部署 Azure SQL Edge 的先决条件,你需要在 IoT Edge 设备至少预配一个 IoT 中心。 在此示例中,预先预配了名为 org-iot-hub 的 IoT 中心和名为 iot-edge-device-1 的基于 Linux 的 IoT Edge 设备

  1. Azure 市场中找到 Azure SQL Edge 模块,然后选择“立即获取”按钮

    The Azure SQL Edge module overview screen displays with the Get It Now button highlighted.

  2. 在模式窗体中,选择所需的软件计划 SKU。 在此示例中,选择了“Azure SQL Edge Developer”。 接下来,填写表单所需的任何其他配置文件信息,然后选择“继续”

    A modal form displays prompting for software plan and profile information. The Continue button is highlighted.

  3. 在“IoT Edge 模块的目标设备”屏幕中,手动输入 IoT Edge 设备名的值或使用查找设备功能从选定的 IoT 中心定位 Edge 设备。 在此示例中,Edge 设备名称为 iot-device-edge-1。 然后,选择“创建”按钮

    A form displays prompting for IoT Edge Device Name. The Create button is highlighted.

  4. 在“在设备上设置模块”边栏选项卡上,选择 IoT Edge 模块下的 AzureSQLEdge 项

    The IoT Edge Modules list displays with the AzureSQLEdge module highlighted.

  5. 在“更新 IoT Edge 模块”边栏选项卡上,选择“环境变量”选项卡。接下来,通过设置 MSSQL_SA_PASSWORD 变量的值替换 SQL Edge 管理员帐户密码。 可选择在“容器创建选项”选项卡下添加配置选项。完成后,选择“更新”按钮

    The IoT Edge Module Environment Variables tab is selected along with the value for MSSQL_SA_PASSWORD. The Update button is highlighted.

  6. 返回到“在设备上设置模块”边栏选项卡,可选择在“路由”选项卡下为模块配置消息路由。完成后,在验证屏幕上再次选择“查看 + 创建”和“创建”

    The Set modules on device blade displays with the Review + create button highlighted.

  7. 将显示 IoT Edge 设备屏幕。 等待片刻,设备的报告模块列表随即将显示运行状态的 AzureSQLEdge。 如果模块未完成启动,它将暂时指示错误状态 - 等待几分钟并刷新。

    The IoT Edge device screen displays with the AzureSQLEdge module running. The Refresh button is highlighted on the toolbar menu.

  8. 使用所需的连接方法并开始使用 Azure SQL Edge!