用途:当 Materialize 对象落后于墙钟时间(mz_wallclock_global_lag 偏高、物化视图/索引/sink 陈旧或滞后)时,定位造成新鲜度问题的单个对象,解释其落后原因,并指出导致高开销工作的 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,每分钟一个样本)。第 3 步用 mz_internal.mz_materialization_lag 把延迟归因到某一跳。第 4 步检查摄入(状态与错误文本、快照进度、写前沿;sink 用 sink status)。第 5 步确认 hydration 并选副本。第 6 步用 EXPLAIN ANALYZE CLUSTER CPU、MEMORY 及 WITH SKEW 找占用副本的数据流。第 7 步用 operator costs 与 operator skew 找高开销算子。第 8 步用 EXPLAIN PHYSICAL PLAN WITH (node identifiers) AS TEXT FOR ... 把算子映射回 SQL。第 9 步按固定槽位输出报告(Culprit、Classification、Evidence、Expensive operator、SQL、Ruled out、Unexplained)。
限制:所有查询需用完全限定的 database.schema.object 名称,参考查询中的 materialize.public.my_view 占位符需替换,否则返回空。sink 不支持算子分析。上游问题(如不兼容的 schema 变更、publication 被删除、凭据过期)的修复在 Materialize 之外。报告本身即交付物,补救措施需另行请求。资料未提供安装命令、收费或平台信息。