中文

LaraDB:用于线性代数与关系代数计算的极简内核

数据库 2017-05-16 v3

摘要

分析任务通过关系代数(RA)的变体操纵结构化数据,并通过线性代数(LA)的变体操纵定量数据。这两种计算模型的表达能力存在重叠,这促使我们提出一种能够统一推理与算法设计的通用编程模型。在逻辑层面,我们提出了 Lara,一种包含三个算子的精简代数,它能够表达 RA 和 LA 以及相关的优化规则。我们展示了一系列证明,将 Lara 定位在恰好适合作为中间件代数的表达能力水平:比 MapReduce 更显式,但比 RA 或 LA 更通用。在物理层面,我们发现 Lara 算子可以使用在各种后端引擎中均可用的单一原语——对分区有序映射的范围扫描——来实现高效执行。为了评估这些想法,我们在 Apache Accumulo(Google BigTable 的一种流行实现)中将 Lara 算子实现为范围迭代器。首先,我们展示了 Lara 如何表达传感器质量控制任务,并测量了 Lara 允许的优化对该任务的性能影响。其次,我们表明,在涉及以矩阵乘法形式的连接和聚合的核心任务上,LaraDB 的实现优于 Accumulo 原生的 MapReduce 集成,尤其是在通常不适合横向扩展方法的小规模场景下。我们发现 LaraDB 为优化混合抽象的分析任务提供了一个概念上精简的框架,同时不牺牲快速的记录级更新和扫描能力。

关键词

引用

@article{arxiv.1703.07342,
  title  = {LaraDB: A Minimalist Kernel for Linear and Relational Algebra Computation},
  author = {Dylan Hutchison and Bill Howe and Dan Suciu},
  journal= {arXiv preprint arXiv:1703.07342},
  year   = {2017}
}

备注

10 pages, to appear in the BeyondMR workshop at the 2017 ACM SIGMOD conference