图形快照概述(预览版)

使用 “版本 ”下拉列表切换服务。 了解有关导航的详细信息
适用于:✅ Azure Data Explorer

注释

此功能目前处于公开预览状态。 正式发布之前,功能和语法可能会更改。

图形快照是一个数据库实体,表示特定时间点图形模型的具体化实例。 虽然 图形模型 定义了结构和数据源,但快照是可查询的图形实现。

概述

图形快照提供:

  • 模型链接:连接到特定图形模型
  • 时间点具体化:表示创建时图形状态
  • 持久性:存储在数据库中,直到显式删除
  • 直接查询:启用查询而不重新生成图形
  • Metadata storage:包含创建时间和模型信息

同一图形模型中的多个快照支持对图形数据进行历史分析和时态比较。

图形快照结构

每个图形快照都包含两个主要组件:

元数据

  • 名称:唯一快照标识符
  • SnapshotTime:创建时间戳
  • 模型信息
    • ModelName:源图模型名称
    • ModelVersion:创建快照时的模型版本
    • ModelCreationTime:源模型创建时间戳

图形数据

  • 节点:模型作中的 AddNodes 具体化节点
  • 边缘:模型作中的 AddEdges 具体化关系
  • 属性:模型中定义的节点和边缘属性

示例快照配置

{
  "Metadata": {
    "Name": "UserInteractionsSnapshot",
    "SnapshotTime": "2025-04-28T10:15:30Z"
  },
  "ModelInformation": {
    "ModelName": "SocialNetworkGraph",
    "ModelVersion": "v1.2",
    "ModelCreationTime": "2025-04-15T08:20:10Z"
  }
}

管理命令

使用以下命令管理图形快照:

指令 目的
.make graph_snapshot 从现有图形模型创建快照
.drop graph_snapshot 从数据库中删除快照
.show graph_snapshots 列出数据库中的可用快照

查询快照

使用 graph() 函数查询图形快照:

查询最新快照

graph("SocialNetworkGraph")
| graph-match (person)-[knows]->(friend)
  where person.age > 30
  project person.name, friend.name

查询特定快照

graph("SocialNetworkGraph", "UserInteractionsSnapshot")
| graph-match (person)-[knows]->(friend)
  where person.age > 30
  project person.name, friend.name

有关高级模式匹配和遍历,请参阅 Graph 运算符

监视和诊断命令

使用以下命令分析快照生成过程:

指令 目的
.show graph_snapshot 统计信息 显示特定快照的详细统计信息,包括性能指标和资源利用率
.show graph_snapshots 统计信息 显示图形模型的所有快照的统计信息
.show graph_snapshots 失败 显示有关失败快照创建尝试的信息以及失败原因和故障排除详细信息

这些命令提供以下见解:

  • 性能分析:用于创建快照的 CPU 时间、内存使用情况和持续时间指标
  • 资源监视:峰值内存消耗和处理效率
  • 生成过程详细信息:快照创建过程的分步细分
  • 失败调查:详细的错误信息和重试行为分析
  • 故障排除:用于深入分析和故障分类的作 ID

主要优势

图形快照提供:

  • 增强性能:消除每个查询的图形重新生成
  • 数据一致性:确保所有查询都以相同的图形状态运行
  • 时态分析:跨时间段启用历史比较
  • 资源优化:减少重复作的 CPU 和内存消耗