SuperAPI AI 工具集

mz-demo-data

数据与分析

查看项目

更新于 10-16 00:06

技能介绍

用途:在运行中的 Materialize 实例里生成持续更新、逼真的合成运营数据,用于演示与验证,无需 Kafka、外部负载生成器或种子脚本,全部是 mz_now() 之上的普通视图。

主要能力:提供稳定的 scaffold(moments 滑动窗口 + random 视图,MD5 生成每时刻 16 字节)与可组合的 domain 视图;内置 auctions、ecommerce、banking、iot、clickstream、zoo 等领域,共享 people 表可跨域关联;通过字节预算控制基数与分布,用重推导而非外键约束保证引用完整性,并支持 sum-to-zero、计数匹配扇出等构造性不变量。

使用方式:先加载 scaffold,再按需加载 common/people.sql 与领域文件,例如:psql -p 6875 -h localhost -U materialize -f assets/scaffold.sql;随后 SET search_path = materialize_demo; 并用 COPY (SUBSCRIBE (SELECT COUNT(*) FROM auctions) WITH (progress = true)) TO STDOUT; 观察心跳。所有对象创建于 materialize_demo schema 且使用 IF NOT EXISTS,重跑安全;修改后的文件重跑不会替换已有视图,需先 DROP VIEW ... CASCADE 或运行 assets/teardown.sql 后重新加载。窗口与 tick 可在 \i 前用 \set retention '6 hours'、\set tick '1 second' 设置,仅对全新加载生效。

适用场景:需要实时、持续变化且带正确性不变量的演示数据,如银行复式记账、电商订单、点击流漏斗、IoT 告警等,也支持按模板设计新领域。

限制:默认 24 位 id 在 86,400 个时刻下会有约 230–500 个碰撞,因此只能声明聚合级不变量,不能声明按父级扇出相等或按 id 唯一;如需唯一 id 可加宽 id 空间、改用 EXTRACT(EPOCH FROM moment)::bigint 或接受约 0.5% 噪声。其他收费、平台与效果信息暂未提供。