Azure 数据资源管理器工作原理
在本单元中,我们将通过讨论系统的主要组件来了解 Azure 数据资源管理器在后台的工作原理。 然后,通过浏览常见工作流,了解如何与服务交互:
- 数据引入
- Kusto 查询语言
- 数据可视化
这些知识可帮助你确定 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 直接在引擎上运行的。