用途:当 Materialize 对象落后于墙钟时间(mz_wallclock_global_lag 高、物化视图/索引/接收器陈旧或滞后)时,定位造成新鲜度问题的单一对象,解释其落后原因,并指出导致高开销工作的 SQL。报告需点名元凶、给出证据并指向相关 SQL。
主要能力:运行在 Materialize 开发者 MCP 服务器上,暴露两个只读工具——query_system_catalog(读取 mz_*、pg_catalog、information_schema)与 query(指定 cluster,运行 EXPLAIN 语句和 mz_introspection 关系)。客户端配置会加服务器名前缀,如 mcp__<server>__query_system_catalog。EXPLAIN 命令、输出列与算子模式见 references/dataflow-analysis.md。
使用方式:按工作流分步执行。第 1 步同时运行三项查询(当前延迟排名、状态扫描、近 24 小时峰值)并选定对象;状态扫描有行即转第 4 步。第 2 步读取延迟历史(mz_wallclock_global_lag_recent_history,每分钟一个样本,共 24 小时)。第 3 步用 mz_internal.mz_materialization_lag 将延迟归因到某一跳(local_lag、global_lag、slowest_local_input_id、slowest_global_input_id)。第 4 步检查摄取状态、错误文本、快照进度与写前沿。第 5 步确认 hydration 并选择副本。第 6 步用 EXPLAIN ANALYZE CLUSTER CPU、MEMORY 及 WITH SKEW 找出占用副本的数据流。第 7 步按算子成本排序并检查算子倾斜。第 8 步将算子映射回 SQL(EXPLAIN PHYSICAL PLAN WITH (node identifiers) AS TEXT FOR ...,配合 SHOW CREATE)。第 9 步按固定槽位输出报告。
适用场景:Materialize 中物化视图、索引、接收器或源出现延迟、陈旧或滞后时。
限制:仅只读;算子分析不适用于 sink;上游问题(模式变更、发布被删除、凭据过期)的修复在 Materialize 之外;报告是交付物,补救措施需另行请求。其余细节暂未提供。