Azure 数据资源管理器工作原理

已完成

在本单元中,我们将通过讨论系统的主要组件来了解 Azure 数据资源管理器在后台的工作原理。 然后,通过浏览常见工作流,了解如何与服务交互:

  • 数据引入
  • Kusto 查询语言
  • 数据可视化

这些知识可帮助你确定 Azure 数据资源管理器是否适合你的数据需求。

显示了 Azure 数据资源管理器的体系结构以及服务内外数据连接的图像。

主要组件

Azure 数据资源管理器群集负责引入、处理和查询数据。 群集可以根据需求自动缩放。 Azure 数据资源管理器还会将数据存储在 Azure 存储中,并将其中一些数据缓存到群集计算节点上以实现最佳查询性能。

Azure 数据资源管理器群集中包含了什么?

每个 Azure 数据资源管理器群集可以容纳最多 10,000 个数据库,每个数据库最多包含 10,000 张表。 每张表中的数据存储在数据分片(也称为“盘区”)中。 系统将根据引入时间自动对所有数据创建索引和分区。 与关系数据库不同,Azure 数据资源管理器群集中的数据库没有主外键约束或任何其他约束,例如唯一性。 此设计意味着可以存储大量的不同数据。 由于这种存储方式,你可以快速访问查询。

数据库的逻辑结构与许多其他关系数据库类似。 Azure 数据资源管理器数据库可以包含:

  • 表:由一组列组成。 每列为九种不同的数据类型之一。
  • 外部表:底层存储位于其他位置(例如 Azure Data Lake)的表。

了解常规工作流

一般来说,与 Azure 数据资源管理器交互时,需要完成以下工作流:首先,引入数据以在系统中获取数据。 然后,分析数据。 接下来,对分析的结果进行可视化处理。 也可以随时使用数据管理功能。 使用 Azure 数据资源管理器的这项工作是通过与群集的交互来完成的。 可以在 Web UI 中或通过使用 SDK 访问这些资源。

如何将数据引入 Azure 数据资源管理器?

数据引入是用于将数据记录从一个或多个源加载到 Azure 数据资源管理器中的表的过程。 进一步的数据操作包括匹配架构、组织、编制索引、编码和压缩数据。 然后,数据管理器将数据引入提交到引擎,在那里数据可供查询。

除了本机 Web UI 向导,还提供了各种引入工具。 包括托管管道、事件网格、IoT 中心和 Azure 数据工厂。 可以使用 Logstash 插件、Kafka 连接器、Power Automate 和 Apache Spark 连接器等连接器和插件。 还可以使用 SDK 或 LightIngest 以编程方式进行引入。

可以采用两种模式引入数据:批处理或流式处理。 批处理引入针对高引入吞吐量和快速查询结果进行了优化。 流式引入针对每个表的小型数据允许近乎实时的延迟。

如何分析数据?

Azure 数据资源管理器使用专有 Kusto 查询语言 (KQL) 来分析数据。 它广泛用于 Microsoft 的产品/服务(Azure Monitor - Log Analytics 和 Application Insights、Microsoft Sentinel 和 Microsoft Defender XDR)。 KQL 针对快速流动、多样化的大数据探索进行了优化。 查询引用表、视图、函数和任何其他表格表达式。 包括不同数据库甚至群集中的表。 可以使用 Web UI、各种查询工具或某一 Azure 数据资源管理器 SDK 运行查询。

Kusto 查询语言是如何工作的?

Kusto 查询语言是一种具有表现力、直观且开发效率高的查询语言。 它提供从简单的单行代码到复杂的数据处理脚本的平滑转换,并支持查询结构化、半结构化和非结构化(文本搜索)数据。 该语言包含多种查询语言运算符和函数(聚合、筛选、时序函数、地理空间函数、联接、联合等)。 KQL 支持跨群集和跨数据库查询,并且在解析(json 和 XML 等)方面具有丰富的功能。 此外,该语言原生支持高级分析。

如何显示查询结果?

Azure 数据资源管理器 Web UI 在设计时考虑到了大数据的需求,使你能够运行查询和构建仪表板。 它支持显示最多 50 万条记录和数千列。 它高度可缩放且功能丰富,可帮助你快速从数据中获取见解。 还可以在 Azure 数据资源管理器仪表板中使用不同的数据可视化显示。 还可以使用针对当今一些可用的领先可视化服务(例如 Power BI 和 Grafana)的本机连接器来显示结果。 Azure 数据资源管理器还针对 Tableau 和 Qlik 等工具提供 ODBC 和 JDBC 连接器的支持。

如何管理数据?

管理员希望在其 Azure 数据资源管理器群集上执行各种维护和策略任务,并且 Control 命令使他们能够执行此操作。 使用 Control 命令,他们可以创建新的群集或数据库、建立数据连接、执行自动缩放和调整群集配置。 他们还可以控制和修改实体、元数据对象、管理权限和安全策略。 此外,他们还可以修改具体化视图(其他表不断更新的筛选视图)、函数(存储函数和用户定义函数)和更新策略(引入数据后触发的函数)。

控制命令是通过 Web UI、Azure 门户、各种查询工具或某一 Azure 数据资源管理器 SDK 直接在引擎上运行的。