下载此体系结构的 Visio 文件

该关系图包含几个灰框,每个框都有不同的标签。 从左到右,标签为依次“引入”、“准备”、“加载”、“服务”和”可视化和浏览”。 其他框下的最后一个框具有标签“监视和安全”。 每个框都包含代表各种 Azure 服务的图标。 编号箭头以图表说明中描述的步骤的方式连接框。

  • IoT 数据进入系统:

  • Azure 事件中心 引入 IoT 数据的流。 数据包含坐标或其他标识设备位置的信息。
  • 事件中心使用 Azure Databricks 进行初始流处理。
  • 事件中心将数据存储在 Azure Data Lake Storage 中。
  • GIS 数据进入系统:

  • Azure 数据工厂 引入任何格式的光栅 GIS 数据和矢量 GIS 数据。

  • 光栅数据包括值网格。 每个像素值都表示一种特征,如地理区域的温度或高程。
  • 矢量数据表示特定的地理特征。 顶点或离散几何位置构成矢量并定义每个空间对象的形状。
  • 数据工厂将数据存储在 Data Lake Storage 中。

  • Azure Databricks 中的 Spark 群集使用地理空间代码库来转换和规范数据。

  • 数据工厂将准备好的矢量和栅格数据加载到 Azure Database for PostgreSQL 中。 解决方案对此数据库使用 PostGIS 扩展。

  • 数据工厂将准备好的矢量和栅格数据加载到 Azure 数据资源管理器 中。

  • Azure Database for PostgreSQL 存储 GIS 数据。 API 使此数据以标准化格式提供:

  • GeoJSON 基于 JavaScript 对象表示法 (JSON)。 GeoJSON 表示简单地理特征及其非空间属性。
  • 已知文本 (WKT) 是一种表示矢量几何对象的文本标记语言。
  • 矢量图块 是地理数据包。 其轻型格式可提高映射性能。
  • Redis 缓存通过提供对数据的快速访问来提高性能。

  • Azure 应用服务 的 Web 应用功能与 Azure Maps 配合使用,以创建数据的视觉对象。

  • 用户通过 Azure 数据资源管理器分析数据。 此工具的 GIS 功能创建视觉效果。 例如,基于地理空间数据创建散点图。

  • Power BI 提供自定义的报表和商业智能 (BI)。 Power BI 的 Azure Maps 视觉对象强调了业务结果中位置数据的角色。

    在整个过程中:

  • Azure Monitor 收集有关事件和性能的信息。
  • Log Analytics 对监视日志运行查询并分析结果。
  • Azure Key Vault 保护密码、连接字符串和机密。
  • Azure 事件中心 是一个完全托管的大数据流式处理平台。 此平台即服务 (PaaS) 提供已分区的使用者模型。 多个应用程序可以使用此模型同时处理数据流。

  • Azure 数据工厂 是一种集成服务,可用于处理来自不同数据存储的数据。 可以使用此完全托管的无服务器平台来创建、计划和安排数据转换工作流。

  • Azure Databricks 是一种数据分析平台。 它的完全托管的 Spark 群集处理来自多个源的大量数据流。 Azure Databricks 可以大规模转换地理空间数据,以在分析和数据可视化效果中使用。

  • Data Lake Storage 是一种可缩放且安全的数据保护,适用于高性能分析工作负载。 这项服务可以管理 PB 量级的信息,同时保持数百千兆的吞吐量。 这些数据通常来自多个异类源,可以是结构化的、半结构化的或非结构化的。

  • Azure Database for PostgreSQL 是基于开放源代码 PostgreSQL 数据库引擎社区版本的完全托管的关系数据库服务。

  • PostGIS 是 PostgreSQL 数据库的扩展,它与 GIS 服务器集成。 PostGIS 可以运行涉及地理对象的 SQL 位置查询。

  • Redis 是一种开放源代码的内存中数据存储。 Redis 缓存在服务器内存中保留频繁访问的数据。 然后,缓存可以快速处理大量使用数据的应用程序请求。

  • Power BI 是一系列软件服务和应用。 可以使用 Power BI 连接不相关的数据源并创建它们的视觉对象。

  • 适用于 Power BI 的 Azure Maps 视觉对象 提供了一种使用空间数据增强地图的方式。 你可以使用此视觉对象来显示位置数据对业务指标的影响。

  • Azure 应用服务 及其 Web 应用 功能提供了一个框架,用于生成、部署和缩放 Web 应用。 应用服务平台提供内置基础结构维护、安全修补程序和缩放功能。

  • Azure Maps 中的 GIS 数据 API 以 GeoJSON 和矢量图块等格式存储和检索地图数据。

  • Azure 数据资源管理器 是一种快速、完全托管的数据分析服务,可处理 大量数据 。 此服务最初侧重于时序和 Log Analytics。 它现在还可处理来自应用程序、网站、IoT 设备和其他来源的各种数据流。 Azure 数据资源管理器中的 地理空间功能 提供了用于呈现地图数据的选项。

  • Azure Monitor 收集有关环境和 Azure 资源的数据。 此诊断信息有助于维护可用性和性能。 Monitor 包含两个数据平台:

  • Azure Monitor 日志 记录并存储日志和性能数据。
  • Azure Monitor 指标 按固定间隔收集数值。
  • Log Analytics 是对监视日志数据运行查询的 Azure 门户工具。 Log Analytics 还提供了用于制表和统计分析查询结果的功能。

  • Key Vault 存储和控制对机密(如令牌、密码和 API 密钥)的访问。 Key Vault 还会创建和控制加密密钥并管理安全证书。

  • 请考虑使用 Martin ,而不是开发自己的 API。 此开放源代码图块服务器使矢量图块可用于 Web 应用。 Martin 用 Rust 编写,连接到 PostgreSQL 表。 你可以将其部署为容器。

  • 如果你的目标是为 GIS 数据提供标准化接口,请考虑使用 GeoServer 。 此开放式框架实现了行业标准 开放地理空间信息联盟 (OGC) 协议,如 Web 地理要素服务 (WFS) 。 它还与通用空间数据源集成。 可以在虚拟机上将 GeoServer 部署为容器。 如果自定义 Web 应用和探索查询是次要的,GeoServer 会提供一种发布地理空间数据的简单方法。

  • 各种 Spark 库可用来处理 Azure Databricks 上的地理空间数据。 此解决方案使用以下库:

  • Apache Sedona (GeoSpark)
  • GeoPandas
  • 还存在其他解决方案,用于通过 Azure Databricks 处理和缩放地理空间工作负载

  • 矢量图块 提供了一种有效的方式来在地图上显示 GIS 数据。 此解决方案使用 PostGIS 动态查询矢量图块。 此方法适用于包含少于 1 百万条记录的简单查询和结果集。 但在以下情况下,可能会有一种不同的方法:

  • 查询的计算成本高昂。
  • 数据不会频繁更改。
  • 正在显示大型数据集。
  • 在这些情况下,请考虑使用 Tippecanoe 来生成矢量图块。 你可以将 Tippecanoe 作为数据处理流的一部分运行,或者作为容器或使用 Azure Functions 。 可以通过 API 使生成的图块可用。

  • 与事件中心一样, Azure IoT 中心 可以引入大量的数据。 但 IoT 中心还提供了与设备的双向通信功能。 如果直接从设备接收数据,但同时向设备发送命令和策略,请考虑使用 IoT 中心,而不是事件中心。

  • 若要简化解决方案,请省略以下组件:

  • Azure 数据资源管理器
  • Power BI
  • 方案详细信息

    使用地理空间数据或包含地理组件的信息存在许多可能性。 例如,地理信息系统 (GIS) 软件和标准广泛可用。 这些技术可以存储、处理和提供对地理空间数据的访问。 但通常很难配置和维护使用地理空间数据的系统。 要将这些系统与其他系统集成,还需要专家知识。

    本文概述了一种将大量地理空间数据用于分析的可管理解决方案。 此方法基于 高级分析参考体系结构 ,并使用以下 Azure 服务:

  • 使用 GIS Spark 库处理数据的 Azure Databricks。
  • Azure Database for PostgreSQL 查询用户通过 API 请求的数据。
  • Azure 数据资源管理器运行快速探索性查询。
  • Azure Maps 在 Web 应用程序中创建地理空间数据的视觉对象。
  • Power BI 的 Azure Maps Power BI 可视功能提供自定义报表
  • 可能的用例

    此解决方案适用于许多领域:

  • 处理、存储和提供对大量光栅数据(例如地图或气候数据)的访问。
  • 确定企业资源规划 (ERP) 系统实体的地理位置。
  • 将实体位置数据与 GIS 引用数据组合在一起。
  • 通过移动设备存储物联网 (IoT) 遥测。
  • 运行分析地理空间查询。
  • 在 Web 应用中嵌入特选和情境化的地理空间数据。
  • 基于 Microsoft Azure 架构良好的框架 的以下注意事项适用于此解决方案。

  • 事件中心跨群集传播故障风险

  • 使用启用了可用性区域的命名空间,将风险分散到三个物理上分隔的设施中。
  • 请考虑使用事件中心的异地灾难恢复功能。 此功能将命名空间的整个配置从主命名空间复制到辅助命名空间。
  • 请参阅 Azure Database for PostgreSQL 提供的业务连续性功能 。 这些功能涵盖一系列恢复目标。

  • 应用服务诊断 会提醒你在应用中遇到的问题,例如停机。 使用此服务来识别、排查和解决诸如中断之类的问题。

  • 请考虑使用 应用服务来备份应用程序文件 。 但请注意备份文件,其中包括纯文本格式的应用设置。 这些设置可能包含类似于连接字符串的机密。

    此解决方案的实现满足以下条件:

  • 每天处理多达 1 千万个数据集。 数据集包括批处理或流式处理事件。
  • 将 1 亿个数据集存储在 Azure Database for PostgreSQL 数据库中。
  • 同时查询 1 百万或更少的数据集。 最多 30 个用户运行查询。
  • 环境使用此配置:

  • 具有四个 F8s_V2 辅助角色节点的 Azure Databricks 群集。
  • Azure Database for PostgreSQL 的内存优化实例。
  • 具有两个标准 S2 实例的应用服务计划。
  • 请考虑以下因素,确定要对实现进行哪些调整:

  • 数据引入速率。
  • 需要支持的并行查询数。
  • 你可以独立缩放 Azure 组件:

  • 事件中心会自动进行纵向扩展,以满足使用量需求。 但请采取措施来 管理吞吐量单位 优化分区

  • 数据工厂处理大量数据。 它的 无服务器体系结构支持不同级别的并行度

  • Data Lake Storage 可通过设计进行缩放

  • Azure Database for PostgreSQL 提供 高性能水平缩放

  • Azure Databricks 群集根据需要调整大小

  • Azure 数据资源管理器可以在几分钟内弹性缩放到数 TB 的数据

  • 应用服务 Web 应用可纵向扩展和横向扩展

    Monitor 的自动缩放功能 还提供了缩放功能。 你可以配置此功能,添加资源来处理增加的负载。 还可以利用此功能删除资源来节省资金。

    安全性针对蓄意攻击及滥用宝贵数据和系统提供保障措施。 有关详细信息,请参阅 安全性支柱概述

  • 保护矢量图块数据。 矢量图块将多个实体的坐标和特性嵌入一个文件中。 如果生成矢量图块,请在访问控制系统中为每个权限级别使用一组专用的图块。 使用此方法时,只有每个权限级别的用户才能访问该级别的数据文件。

  • 若要提高安全性,请在以下情况下使用 Key Vault:

  • 管理事件中心用来加密数据的密钥
  • 存储数据工厂在管道中使用的凭据
  • 保护应用服务 Web 应用所使用的应用程序设置和机密
  • 有关应用服务如何帮助保护 Web 应用的信息,请参阅 Azure 应用服务中的安全性 。 另请考虑以下几点:

  • 了解如何 获取应用使用自定义域名时所需的证书
  • 了解如何 将应用的 HTTP 请求重定向到 HTTPS 端口
  • 了解 Web 应用中身份验证的最佳做法
  • 成本优化是关于寻找减少不必要的费用和提高运营效率的方法。 有关详细信息,请参阅 成本优化支柱概述

  • 若要估计实现此解决方案的成本,请参阅示例 成本配置文件 。 此配置文件适用于 可伸缩性注意事项 中描述的环境的单个实现。 但不包括 Azure 数据资源管理器的成本。
  • 若要调整参数并了解在你的环境中运行此解决方案的成本,请使用 Azure 定价计算器
  • 本文由 Microsoft 维护, 它最初是由以下贡献者撰写的。

    首席作者:

  • Richard Bumann | 解决方案架构师
  • 产品文档:

  • 关于 Azure 事件中心
  • Azure Databricks 概念
  • Azure Data Lake Storage 简介
  • 什么是 Azure 数据工厂?
  • Azure 应用服务概述
  • 若要开始实现此解决方案,请参阅以下信息:

  • 将 WFS 连接到 Azure Maps
  • 使用 Spark 处理 OpenStreetMap 数据
  • 了解通过 Azure Maps 显示数据的方法。
  • 有关处理地理空间数据的信息

  • 用于查询矢量图块的 PostGIS 的函数
  • 用于加载 PostGIS 光栅的函数
  • Azure 数据资源管理器地理空间函数
  • Azure Maps 中矢量图块的数据源
  • Databricks 中处理地理空间数据的方法
  • 使用 Azure 数据资源管理器的大数据分析
  • Azure 上的运行状况数据联盟
  • [新式数据仓库的 DataOps][新式数据仓库的 DataOps]
  • Azure 数据资源管理器交互式分析
  • 地理空间参考体系结构 - Azure Orbital
  • 面向电信行业的地理空间分析
  • 通过 Azure Synapse Analytics 进行星载数据分析
  • 比较 Microsoft 的机器学习产品和技术 - Azure Databricks
  • 用于通过 Azure 机器学习提升机器学习生命周期的机器学习操作 (MLOps)
  • [面向最佳工具选择的 Azure 机器学习决策指南][面向最佳工具选择的 Azure 机器学习决策指南]
  • 监视 Azure Databricks
  • Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see: https://aka.ms/ContentUserFeedback .

    提交和查看相关反馈