Smoke:以交互速度实现细粒度数据血缘
数据库
2018-01-23 v1
摘要
数据血缘描述了工作流中单个输入与输出数据项之间的关系,并已成为传统(如调试、审计、数据集成和安全)与新兴(如交互式可视化、迭代分析、解释和清洗)应用的重要组成部分。血缘系统需要解决的核心且长期存在的问题——也是本文的主要关注点——是捕获工作流中输入与输出数据项之间的关系,以期简化针对血缘的查询。遗憾的是,当前的血缘系统要么产生较高的血缘捕获开销,要么产生较高的血缘查询处理成本,或两者兼而有之。因此,原则上可以用血缘术语以声明式表达其逻辑的应用,转而求助于手工调优的实现。为此,我们提出 Smoke,一个内存数据库引擎,它使血缘捕获开销与血缘查询处理无需相互妥协。为此,Smoke 将血缘捕获逻辑紧密集成到物理数据库算子中;采用高效、写优化的血缘表示进行存储;并在预先获知未来血缘查询时进行优化。我们在微基准测试和真实工作负载上的实验表明,与最先进的替代方案相比,Smoke 将血缘捕获开销降低了多个数量级,并大幅简化了血缘查询。我们在真实世界应用上的实验强调,Smoke 能够满足交互式可视化的延迟要求(如 <150ms),并优于手工编写的数据剖析原语实现。
引用
@article{arxiv.1801.07237,
title = {Smoke: Fine-grained Lineage at Interactive Speed},
author = {Fotis Psallidas and Eugene Wu},
journal= {arXiv preprint arXiv:1801.07237},
year = {2018}
}