《Data Provenance: What next?》 阅读

1 研究背景和动机

对数据溯源的研究已经活跃了20年了,数据溯源带来了什么,又将走向何方呢?它产生了什么实际的影响,可能会带来什么影响?本文针对这些问题提供了一些推测性的答案。本文的目的是在现有的研究的基础上引出新的研究线索。

本文的出发点建立在两个相互矛盾的观点上:

  • 收集的溯源信息越多越好。

  • 没办法记录所有相关的溯源信息。

以现实意义来说,我们只能记录有限数量的溯源信息。这时候就要考虑,我们应该记录什么。对于物理制品来说,这些数据具有明显的属性信息。但是对于计算过程和数据来说,没有明显的属性信息,怎么预测他们的溯源信息呢?因此对于一个系统,我们必须理解他需要什么解释,对于应该记录的溯源信息有没有最低要求?

  • 多数情况,我们应该记录的溯源信息源于应用程序。例如,如果应用程序的目标是回答公司收益报告中报告的销售数据的来源,那么由源数据和用于生成报告的程序或查询组成的数据来源可能就足够了。但是,有时,特定区域的中间销售结果会与其他数据源或其他区域的结果相结合,以生成最终报告。在这种情况下,为了全面了解公司收益报告中的销售数据,可能还需要跟踪用于生成中间结果的程序。

  • 另一种类型的应用,要求结果是可再现的(化学制品)。软件的可重复性和可再现性成为一个重要的课题。为了实现软件的可再现性,除了用于执行实验的程序和数据之外,还要记录硬件、操作系的版本和需要的软件库等等。

2 背景

下面将介绍一些与数据溯源有关的重要研究贡献、研究背后的动机和实际应用。

对于数据溯源有三种:

  • where-provenance:这个数是由什么在哪里产生的

  • how-provenance:这个元组是通过将来自R1的元组t1连接到来自R2的元组t2而形成的

  • why-provenance:这个元组在结果中是因为一些其他元组在输入中

  • where:结果中的carl是由F中的carl产生的

  • how:结果元组是由F表和P表经过一系列操作产生的

  • why:输出结果中元组的存在是因为(carl,bon),(bob,30,analyst),(carl,50,analyst)元组存在

溯源是关于某个复杂过程的某个部分的解释。

2.1 注释和溯源

使用数据元素的溯源来注释他们。(相关信息)。注释信息有时在关系数据库中的主表中显示,有时在辅助表中显示。关系数据库中是结构化数据,如果是半结构化数据,会在层次结构中添加一些子树或者在图中增添一些额外的边。---一般来说注释数据是半结构化的。

注释是如何通过数据库查询进行传播的呢?

注释

根据数据的复制源来传播注释。这些规则对查询的表达方式很敏感:即使两个查询在结果上是等价的,总是产生相同的结果,但是传播注释的方式可能不同。

上面这张图显示了两个查询,在查询结果上是一样的,但是输出结果的来源是不同的。(红色虚线表示查询创建的组件,黑色实线表示复制的组件)

  • 语句1只影响输出单元组中数字5的出处。数字五是该语句新创建的,其他部分全都是来源于输入元组

  • 语句2不仅创建了一个新值5还创建了一个新的元组和新的表。

半环溯源

一个交换半环是一个五元组(K,0,1,⊕,⊗)

  • K是一个包含区别元素0和1的集合

  • ⊕和⊗事两个二元运算符,都符合交换律和结合律

  • 0和1分别是⊕和⊗的单位元。⊗在⊕上是可分配的。

  • 0⊗t=t⊗0=0

假设源数据库中的每个元组都有一个元组标识符,I是所有这样的元组标识符的集合。输出表中元素的输出是一个由I,0,1,⊕,⊗组成的多项式。从每个输入元组的起源多项式获得每个关系运算符的输出元组的起源。

  • 连接:假设t1∈R1,t2∈R2 t1joint2得到t∈R1×R2。e1和e2是t1和t2的起源多项式,那么t的多项式是e1⊗e2

  • 合并:R1∪R2得到t,t的多项式是e1⊕e2

  • 投影:e1⊕e2........⊕en

我们可以认为一个元组的溯源多项式描述的是一个元组如何通过连接(⊗)与合并(⊕)构建的

这是一个查询语句,查询与人有共同朋友的人。

假设Friend表中有三个元组:(Ann,Bob) (Carl,Bob) (Frank,Dan)。他们的注释分别是i1 i2 i3

查询结果如上图所示。

这种多项式的显著特征是:统一了关系代数的许多其他概括,如袋语义、C表和概率数据库。包语义是允许元组重复的数据库,对于包语义只需要将重复个数分配给各个元组,就可以通过半环(N,0,1,+,X)根据一个元组的多项式求出他的多重性。

这种多项式同样可以使用半环(Why(K), ∅, {∅}, ∪, )。如果我们将每个元组的标识符解释为每个单例集的集合,那么Ann的溯源多项式可为如下所示:

2.2 溯源,可重复性,版本控制

研究动机:重复实验的能力对于实验结果的可信度至关重要,确保可重复性所需要的任何东西都可以被看做溯源。数据源是被引用的来源,但通常情况下数据源甚至他的结构都会随着时间改变。

在策划数据库中,也会常常发生类似的问题。在合并外部数据库时,通常会提供指向源数据库的链接作为来源的一部分。需要注意以下两点:

  • 当数据库发生改变时,新数据库会替代旧版本的数据库,因此现在引用数据库的链接不再是以前的数据库的有效引用。

  • 链接通常是对数据库中某个特定部分的粗粒度近似,而引用通常针对的也是这个粗粒度。无法精确到数据库的特定部分

数据版本

对于策展数据库一般有三种方法来储存数据库的历史版本。

  • 保留数据的所有过去版本

  • 只存储连续版本之间的变化(增量)

  • 归档方法:在上述两种方法之中取得了平衡。它通过合并尽可能将不同的数据库版本整合在一起,从而保持所有数据库版本的完整和经济。假设每个版本都采用分层格式,例如JSON格式或者XML格式。每个节点都保存一组相关的区间,区间中存储着节点存在过的版本集合。如果一个节点的区间集与父节点相同,则可以通过省略区间集来节省空间。

上图为关系数据库中上面的三种方法。

3 接下来是什么

3.1 溯源和数据引用

传统的图书引用方式适用于书籍等完整作品,但是对于数据库查询结果,引用哪部分合适呢?是引用查询呢?还是引用查询的结果呢?

3.2 溯源和机器学习

在机器学习中,导出机器学习模型的解释的问题被称为可解释性。这种性质与溯源一样,不同的用户对于可解释性的要求也不用。

数据溯源和可解释性的目标是相似的。两者都试图在不同粒度级别上为程序或者过程的输出寻找解释。一个主要的区别是,在数据库证明中,研究人员所考虑的程序和过程通常不像在机器学习中那么不透明。

数据溯源的证明性和机器学习的可解释性之间的一个很有前途的交叉领域为:与其学习基于原始模型预测的可解释性模型,不如学习可以近似机器学习的模型或者其近似特殊情况的规则和程序。从模型预测中导出规则的问题与反向工程查询的问题密切相关。反向工程查询是从已知的行为中导出规范。

3.3 溯源和社交媒体

建立一种机制来理解通过社交网络获得的新闻来源是确定假新闻或者假声明的重要组成部分。一篇文章被发出来的时候,应该确保消息来源与新闻传播一起传播。当一篇文章首次被创建时,它应该包括作者身份和来源归属等信息

如果一篇文章的出处信息可能无法立即获得,我们是否可以根据社交网络来推测出处?谣言中心性。

一个有希望继续研究的领域是将出处纳入事实核查问题。事实核查指的是确定媒体内容中的事实主张是否真实的问题。我们是否可以使用证明属性来作为确定事实是否真实的可靠信号吗?另外一个方向是将企业内部的信任和声誉管理纳入社交媒体。

不管用什么方法来确定假新闻的来源都是至关重要的

3.4 溯源和区块链技术

分布式账本(DLT)技术来记录溯源是很普遍的。但是DLT的开发是为了防止“双重支出”:同一枚硬币不可以给良方,并且对人工制品也有类似的限制。但是对于文件系统级别的数据来说,一般数据是可以被复制的,因此不需要这种约束。这是否会让我们为数据来源开发一个更加简单或者成本更低的分布式账本成为一个悬而未决的问题。

3 5 溯源和隐私

从表面上看溯源否定了隐私。在很多情况下我们既想要来源有又想要隐私。如何维持这两者之间的平衡呢?

猜你喜欢

转载自blog.csdn.net/qq_56540305/article/details/137784643