知识卡片
再现性与幂等性
内容
两个概念都关注”重复执行能不能得到一样的结果”,但含义有微妙差别:再现性泛指在相同条件下多次执行某个操作总能得到相同结果(论文实验结果能否被他人复现就是典型场景);幂等性是数学上更严格的说法,指对同一个操作重复执行任意多次,结果都和只执行一次时完全一样,尤其关注”重复执行本身不会带来额外副作用”。一个反直觉但很实用的场景是:给多人分发同一套建表处理脚本,有人一次成功,有人因为磁盘容量不足中途失败、清理空间后重新运行时却报错”表已存在”——这就是没有保持幂等性的典型症状;解决办法是在脚本里预先加入”如果表已存在就先删除”的逻辑,这样无论运行成功与否、运行几次,最终都能收敛到同一个状态。发散:这正是”基础设施即代码”(IaC)理念背后的核心追求——用可重复执行、天然幂等的脚本描述环境搭建过程,而不是依赖人工照着文档一步步操作,后者极易因为中途出错而导致环境不可复现。
参考来源
《图解数据科学》第6章《有关安全与隐私的问题》