We track the lineage of tuples throughout their database lifetime. That is, we consider a scenario in which tuples (records) that are produced by a query may affect other tuple insertions into the DB, as part of a normal workflow. As time goes on, exact provenance explanations for such tuples become deeply nested, increasingly consuming space, and resulting in decreased clarity and readability. We present a novel approach for approximating lineage tracking, using a Machine Learning (ML) and Natural Language Processing (NLP) technique; namely, word embedding. The basic idea is summarizing (and approximating) the lineage of each tuple via a small set of constant-size vectors (the number of vectors per-tuple is a hyperparameter). Therefore, our solution does not suffer from space complexity blow-up over time, and it "naturally ranks" explanations to the existence of a tuple. We devise an alternative and improved lineage tracking mechanism, that of keeping track of and querying lineage at the column level; thereby, we manage to better distinguish between the provenance features and the textual characteristics of a tuple. We integrate our lineage computations into the PostgreSQL system via an extension (ProvSQL) and extensive experiments exhibit useful results in terms of accuracy against exact, semiring-based, justifications, especially for the column-based (CV) method which exhibits high precision and high per-level recall. In the experiments, we focus on tuples with \textit{multiple generations} of tuples in their lifelong lineage and analyze them in terms of direct and distant lineage.
翻译:在数据库存续期内,我们跟踪跟踪塔普尔的线条。也就是说,我们考虑一种假设,即由查询产生的图普尔(记录)可能会影响其他图普插入到DB中,作为正常工作流程的一部分。随着时间的流逝,这些图普尔的精确源解释会变得深巢,日益消耗空间,并导致降低清晰度和可读性。我们用机器学习和自然语言处理(NLP)技术,即字嵌入技术,为接近线条跟踪提供了一种新颖的方法。基本想法是总结(和接近)每个图普尔的线条(通过一套小的不变尺寸矢量矢量矢量的矢量插入到 DB。随着时间的流逝,我们的解决办法不会因为时间的空复杂而受到影响,而“自然排列”解释图板的存在。我们设计了一种基于基础的改进的线条跟踪和查询线条线;因此,我们设法更好地分析每个图例的直径直径直线线(我们通过图的图的直径的直径和图的直径的直度) 和直径直径直的图的图解(我们的直路路路路段) 和图的直径的图的直路段) 。