semantic_relationships
semantic_relationships 是语义图的边集合:实体之间带类型、有时间范围的关系。
这张表是计算出来的,不是存储的。扫描它时,会配对 trace span、根据声明表同一行中的实体身份派生关系,并把结果与 semantic_relationships_declared 的行 union 起来。它是只读的:INSERT、CREATE、ALTER、TRUNCATE、DROP 都会被拒绝。
SELECT src_id, dst_id, rel_type, provenance, request_count, error_count
FROM greptime_private.semantic_relationships
WHERE observed_at >= now() - INTERVAL '15' MINUTE
ORDER BY dst_id;
四个时间列对派生边和声明边含义不同:
| 列 | 派生边 | 声明边 |
|---|---|---|
observed_at | 观测到该边的 60 秒时间桶 | 边的生效起点与查询窗口下界中较晚的那个 |
window_start | 该时间桶的起点 | valid_from,为 NULL 时取声明时间 |
window_end | window_start + 60 秒 | valid_until,为 NULL 时取查询窗口的上界 |
fresh_until | 等于 window_end | 等于 window_end |
也就是说,声明边覆盖的是它的整个有效期,而不是一个 60 秒时间桶,其 window_start、window_end、fresh_until 在读取时计算。semantic_relationships_declared 里这三列写入的值不会被使用。
| 列 | 类型 |
|---|