提前追踪信息无需从头运行算法的数据处理方式正式名称是什么
相关模式的正式专业名称
这类处理方式有两个层面的标准专业命名,和描述的特征完全匹配:
- 站在编程语言求值策略的分类维度,它就是及早求值(Eager Evaluation,也叫严格求值、贪婪求值),是惰性求值(Lazy Evaluation)的直接对立实现:惰性求值会把计算动作延迟到结果被实际需要的时刻才触发,而这类模式会在对外暴露函数调用、查询能力之前,就提前启动并完成全量计算流程。
- 结合提到的「追踪记录算法运行全量必要信息、调用时无需从头运行算法、类比反向记忆化」的具体特征,在图算法、数据库查询、流计算领域更精准的专属术语是物化(Materialization):
常规的记忆化(Memoization)逻辑是函数被调用触发计算后,才缓存对应输入的结果,后续相同输入调用直接返回缓存值,属于按需触发、调用后存结果的路径;所谓“反向记忆化”逻辑刚好反过来,会提前把算法执行链路中所有可能被查询的最终结果、中间状态全部计算完成后存储下来(也就是把动态计算的输出提前“物化”为可直接读取的静态结果),后续所有相关函数调用都直接读取预存结果,完全不需要重新执行计算逻辑。
图算法开发场景里的典型落地就是:提前全量跑完PageRank、全源最短路径、连通分量等图算法,把每个节点、边对应的计算结果全量存在图存储中,上层业务调用接口查询某个节点的算法结果时,直接读取预存值即可,不需要临时触发全图计算,就是这类模式的典型应用。
内容的提问来源于stack exchange,提问作者Dominik
相关产品推荐
相关产品推荐

