通过图形语义,可以将数据建模和查询为互连网络。 图形由连接它们的节点(实体)和边缘(关系)组成。 节点和边缘都可以包含属性,从而为复杂关系创建丰富的数据模型。
图形擅长表示具有多对多关系、分层结构或网络连接的复杂数据,例如社交网络、建议系统、连接资产和知识图。 与需要索引和联接才能跨表连接数据的关系数据库不同,图形在节点之间使用直接相邻,从而实现快速直观的关系遍历。
下图演示了网络安全攻击路径方案。 节点表示实体(如外部源、用户和关键资产),而边缘表示构成潜在攻击序列的作或关系。
图形查询利用图形结构来执行复杂的作,例如查找路径、模式、最短距离、社区和中心度量值。 这些功能使图在建模跨领域(包括社交网络、供应链、IoT 设备网络、数字孪生、推荐系统和组织结构)的关系、交互、依赖性和流程方面具有强大的能力。
下图显示了一个供应链方案,其中节点代表供应商、制造商和分销商,边缘表示供应关系。 此示例演示了图模型如何在不同的业务上下文中展示流动和依赖关系。
为何使用图形语义?
图形功能通过 利用现有数据投资 来提供显著优势,同时添加复杂的关系建模:
- 无需数据迁移 - 直接从当前数据生成图形模型,而无需重复。
- 经济高效的解决方案 - 消除了专用图形数据库的复杂性和费用。
- 时态分析支持 - 作为时序数据库,可以自然地分析图形随时间变化的方式。
- 基于事件的建模 - 将图形建模为关系事件序列,与强大的事件处理功能保持一致。
- 无缝 KQL 集成 - 图操作符与所有现有的 KQL 功能一起工作,提供完整的 IntelliSense 支持。
此方法提供 企业级关系建模 ,同时保持性能、规模和熟悉的界面。 组织可以分析跨域的复杂互连数据(从供应链和组织层次结构到 IoT 设备网络和社交关系),而无需额外的基础结构投资。
暂时性图形创建方法
暂时性图是使用 make-graph
运算符动态创建的。 查询执行期间,这些图表存在于内存中,并在查询完成时自动丢弃。
主要特征
- 动态创建 - 使用 KQL 查询生成表格数据,整个结构驻留在内存中
- 即时可用性 - 无预处理或设置要求
- 内存约束 - 图形大小受群集节点上可用内存的限制
- 性能因素 - 图形拓扑和属性大小决定了内存要求
此方法最适合需要立即分析的较小到中型数据集。
暂时性图形的用例
瞬态图在多个场景中表现突出:
- 即席分析 - 需要快速模式检查的一次性调查
- 探索数据分析 - 测试假设和验证分析方法
- 中小型数据集 - 实时分析最近事件或重点数据子集
- 快速原型制作 - 在实现持久模型之前测试图形模式
- 动态数据分析 - 经常更改不证明持久存储合理性的数据
常见应用程序包括实时 IoT 监视、供应链关系分析、客户旅程映射,以及需要立即可视化实体关系的任何方案。
持久图形创建方法
持久图使用 图形模型 和 图形快照 为代表组织网络、供应链、IoT 生态系统、数字孪生和其他互连数据域的大型复杂图形提供可靠的解决方案。
持久图形的关键特征
- 持久存储 - 图形模型和快照存储在数据库元数据中,以确保持久性和一致性
- 可伸缩性 - 使用企业级分析功能处理超出内存限制的图形
- 可重用性 - 多个用户可以在不重新生成的情况下查询同一结构,从而启用协作分析
- 性能优化 - 消除重复查询的图形构造延迟
- 版本控制 - 多个快照表示不同时间点用于历史分析的图形
- 架构支持 - 不同实体类型的结构化定义及其属性
架构功能支持静态标签(在图形模型中预定义)和动态标签(从数据运行时生成),为具有不同实体类型的复杂环境提供灵活性。
持久图形的用例
持久图对于以下项至关重要:
- 企业分析 - 跨复杂网络持续监视工作流
- 大规模数据分析 - 具有数百万个节点和关系的企业级图形
- 协作分析 - 多个团队使用共享的图结构
- 生产工作流 - 需要一致的图形访问的自动化系统
- 历史比较 - 图形演变和变化的基于时间的分析
示例:数字孪生持久图
在数字孪生和 IoT 方案中,持久性图形支持定期分析设备关系、设备依赖项和系统随时间推移而演变。 历史分析允许在不同时间段内比较系统状态、跟踪资产演变以及进行长期趋势分析。
示例:IoT 和数字孪生持久图
IoT 和数字孪生应用程序在对物理设备与其跨分布式系统的虚拟表示形式之间的复杂关系建模时,从永久性图形中获益匪浅。 这些图形使组织能够:
- 创建 IoT 部署和连接资产的综合模型
- 支持实时监视、预测性维护和性能优化
- 分析设备依赖关系并识别潜在的故障点
- 通过物理和逻辑拓扑理解优化传感器放置
- 跟踪设备配置、通信和性能特征随时间推移
- 检测通信模式异常并可视化智能环境演变
- 在实施物理基础设施更改之前,模拟操作条件。
这种持久方法对于大规模管理复杂的 IoT 生态系统非常有用。
图形查询功能
建立图形(通过 make-graph
或从快照建立)后,可以利用 KQL 图形运算符的完整套件进行全面分析:
核心运算符:
-
graph-match
- 启用复杂的模式匹配和遍历操作,用于识别复杂关系序列 -
graph-shortest-paths
- 查找实体之间的最佳路径,帮助确定连接优先级并确定关键关系 -
graph-to-table
- 将图形分析结果转换为表格格式,以便与现有系统集成
高级分析功能:
- 基于时间的分析 - 检查关系和模式随时间的变化
- 地理空间集成 - 将图形数据与基于位置的智能相结合进行地理模式分析
- 机器学习集成 - 应用用于实体聚类分析、模式分类和异常情况检测的算法
这些功能支持多种用例,包括客户旅程分析、产品建议系统、IoT 网络、数字孪生体和知识图。
选择正确的方法
以下决策树可帮助你根据特定的要求和约束选择最合适的图形创建方法。
决策树:暂时性图形与持久图
何时使用暂时性图形
为以下项选择暂时性图形:
- 图形大小低于 1000 万个节点和边缘 (以实现最佳性能)
- 具有最少协作要求的单个用户或小型团队分析
- 需要立即结果的一次性或探索性调查
- 需要当前状态信息的实时数据分析
- 图形模式和查询逻辑的快速原型制作和测试
虽然暂时性关系图可以处理较大的数据集,但查询执行时间会增加,因为必须为每个查询重新构造图形。 使用较大的数据集时,请考虑这种性能权衡。
何时使用永久性图形
为以下项选择永久性图形:
- 图形大小超过 1000 万个节点和边缘 ,其中分布式存储非常有用
- 需要共享访问权限的多个团队以便进行协作分析
- 对结构延迟影响生产力的稳定数据集进行重复分析
- 生产工作流集成需要一致的和可靠的图访问
- 跟踪随时间变化的历史比较要求
- 影响查询性能的内存容量限制
- 跨团队和时区的协作调查工作流
使用企业规模数据或内存限制影响性能时,永久性图形至关重要。
性能注意事项
内存使用情况
- 暂时性图 - 受单个群集节点内存的限制,限制对可用 RAM 中的数据集的使用
- 持久图 - 利用分布式存储和优化的企业规模数据访问模式
查询延迟
- 临时图 - 在每个查询中计算构建时间,对于大型数据集或外部数据源来说,延迟会增加
- 持久图 - 通过预生成快照消除构造延迟,从而实现快速分析
外部数据源依赖项(例如跨群集查询或 SQL 和 CosmosDB 的外部表)可能会显著影响暂时性图形构造时间,因为每个查询必须等待外部响应。
数据新鲜度
- 暂时性图 - 始终反映当前数据状态,非常适合实时分析
- 持久图 - 在创建快照时反映数据,为协作分析提供一致性,但需要定期刷新
与 KQL 生态系统集成
图形语义与 KQL 更广泛的功能无缝集成:
- 时序分析 - 跟踪随时间推移的关系演变
- 地理空间函数 - 分析基于位置的模式和地理异常
- 机器学习运算符 - 检测模式、分类行为和识别异常
- 标量和表格运算符 - 启用复杂转换、聚合和数据扩充
此集成可实现复杂的工作流,包括供应链演变跟踪、地理资产分布分析、通过聚类分析算法进行社区检测,以及将图形见解与传统日志分析和外部智能关联。