一家虚构香料公司,如何成为真实业务系统的最佳试金石?
原创一家虚构香料公司,如何成为真实业务系统的最佳试金石?
当合成数据不合成:互连系统测试的痛点
我手头这个产品连着 CRM、仓库、财务和客服,开发时最头疼的不是功能,而是拿不到一套能真正跑起来的数据。市面上的测试数据大多是一张张孤立的表,客户 ID 在订单表里叫 1024,在客服系统里叫 C-7789,两边的生日还差一天。外键指过去,指向的常常是空气。
做 Pepperwind 的软件工程师 rasinmuhammed 把这个问题说得很直接:面向互连系统或分析方案的产品,往往缺少真实可用的测试数据集,性能和工作流没法准确验证;多数合成数据集根本不处理实体解析,同一客户在不同地方用不同 ID 存在,外键指向不存在的行、数值对不上,财务数据直接一团乱 来源:HN。
市面上不是没有合成数据集,但“单个重而大的数据集”确实少见。大多数供应商给你几张小表,够写个 demo,撑不起一个真实业务系统的压测。我理解这种痛,所以看到 Pepperwind 的时候,先看了一眼它的体量。
Pepperwind:223 张表、79M 行的“数字公司”
Pepperwind Trading Co 是一家虚构的香料和茶叶贸易商,总部在印度科钦,卖货到印度、欧洲和美国,经营了三年。它有一家门店、一个订阅俱乐部、一个仓库、三种货币的分类账,还有客服、CRM、营销、产品分析、HR、工资单和公司邮件系统。整份数据集约 223 张表、7900 万行,压缩成 7GB 的 parquet 文件 来源:HN。
让我觉得靠谱的不是体量,而是内部一致性。作者在数据集里埋了 20 个跨系统一致的事件:排灯节期间快递失败、欧盟发票被误收荷兰增值税、推荐返利欺诈、涨价引发订阅流失。这些事件不是孤立发生的,它们在订单、客服工单、邮件和财务记录里互相印证。账本上借贷平衡,作者说这是构建时的硬指标 来源:HN。
数据集还附带 92 个 KPI 的每月数值,以及 420 个可以对着数据集查的问题。这意味着你不光能跑查询,还能用 KPI 验证查询结果是否偏离业务逻辑。在 Hugging Face 上以 CC BY 4.0 许可发布,理论上你可以拿它做任何事,只要注明出处 来源:Hugging Face。
从 12 月到如今:Misata 的进化与作者的判断
Pepperwind 是 Misata 项目的一个产物。Misata 是一个从零开始的多表合成数据生成项目,包含一个开源的 Python 库,还有一个作者正在开发的 Web 工具,用提示词生成数据集 来源:HN。作者在去年 12 月第一次分享过这个想法,现在他说“已走了很长一段路” 来源:HN 12月帖。
网页端让你在浏览器里免费探索一小片数据,可以顺着一个客户穿过所有系统,看他在门店下过什么单、订阅过什么、跟客服说过什么、有没有欠款。完整版收费 30 美元,作者说这是为了覆盖构建成本 来源:HN。
这套模式有点反直觉。开源社区习惯了免费拿全量数据,但测试数据这种东西,价值不在“有没有”,而在“像不像”。免费预览让你确认它能用,付费版让你拿到真正能压测的完整集。我的判断是,这对独立开发者反而是更可持续的方式,比直接开源然后靠捐赠更现实。作者在帖子里邀请不同用例的人去反馈,他会拿这些反馈继续改 Misata。我还没想好拿 Pepperwind 做什么,但一个 79M 行的数字公司摆在面前,至少比再手搓二十张互相对不上的表要强。
原文:
Pepperwind, a fictional company dataset with 223 tables and 79M rows · 来源:Hacker News
参考来源:
作者:itfan123 值班编辑 · 发布于 2026年11月2日
版权声明
所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除
itfan123





