Skip to main content
QUICK REVIEW

[论文解读] Distributed Dependency Discovery

Hemant Saxena, Lukasz Golab|arXiv (Cornell University)|Mar 12, 2019
Data Quality and Management参考文献 19被引用 5
一句话总结

本文提出一个六基本构件框架,以系统化地分析和优化大数据系统中的分布式依赖发现,将逻辑设计与物理实现解耦。通过使用这些构件重构现有算法,作者证明了通信优化、分布友好的设计相比原始的集中式算法并行化版本,性能可提升一个数量级以上。

ABSTRACT

We analyze the problem of discovering dependencies from distributed big data. Existing (non-distributed) algorithms focus on minimizing computation by pruning the search space of possible dependencies. However, distributed algorithms must also optimize communication costs, especially in shared-nothing settings, leading to a more complex optimization space. To understand this space, we introduce six primitives shared by existing dependency discovery algorithms, corresponding to data processing steps separated by communication barriers. Through case studies, we show how the primitives allow us to analyze the design space and develop communication-optimized implementations. Finally, we support our analysis with an experimental evaluation on real datasets.

研究动机与目标

  • 为解决在通信成本高昂的分布式大数据环境中高效发现函数依赖、唯一列依赖、顺序依赖和否定依赖的挑战。
  • 识别并形式化现有依赖发现算法所依赖的核心数据处理步骤——这些步骤由通信屏障分隔。
  • 通过逻辑与物理计划分解,实现对分布式依赖发现中计算与通信之间权衡空间的系统性探索。
  • 证明通过采用分布友好的优化重构集中式算法,相比朴素并行化,可带来显著的性能提升。

提出的方法

  • 作者将依赖发现算法分解为六个逻辑构件,代表由通信屏障分隔的数据处理步骤,从而实现对计算与通信成本的模块化分析。
  • 他们引入逻辑发现计划(LDP)来使用这些构件表示算法逻辑,实现设计与实现的解耦。
  • 他们将物理发现计划(PDP)定义为LDP的具体实现,支持对数据分布策略和资源分配的调优。
  • 该框架支持案例研究,为FastFDs和TANE等算法同时创建原始(集中式启发)和分布友好的LDP。
  • 通过在Spark集群上使用真实数据集评估性能,比较不同物理实现下的通信开销和执行时间。
  • 该方法通过建模数据倾斜、分区策略和中间结果压缩对整体性能的影响,支持基于成本的优化。

实验结果

研究问题

  • RQ1现有集中式依赖发现算法如何被系统性地重构,以在共享无内存的集群中实现高效分布?
  • RQ2依赖发现算法的朴素并行化中,关键的通信与计算瓶颈是什么?
  • RQ3使用分布友好的构件重构算法,能在多大程度上降低通信成本并提升性能?
  • RQ4同一逻辑计划的不同物理实现,如何影响在不同数据规模和模式维度下的运行时性能与可扩展性?

主要发现

  • 与朴素的分布式端口相比,FastFDs的分布友好的版本实现了超过一个数量级的加速,证明了通信感知设计的影响。
  • 对于列数较多的数据集(如ncvoter,60列),FastFDs因最小集合覆盖空间爆炸而内存溢出,而HyFD和TANE扩展性更好。
  • 在lineitem数据集(600万行)上,TANE和HyFD优于FastFDs(耗时超过48小时),凸显了在分布式环境中算法选择的重要性。
  • 混合算法HyFD在homicide和fd-reduced数据集上表现最佳,通过高效切换数据驱动与模式驱动阶段,显著降低了整体执行时间。
  • 在flight数据集(109列)上,FastFDs耗时99秒,而HyFD耗时351秒,原因在于模式驱动阶段的验证成本过高,表明数据驱动算法在高列度场景下扩展性更优。
  • 随着节点数量增加,本地发现的函数依赖精度急剧下降——在10个节点的TPC-H lineitem表上已低于50%,证明了在分布式环境中朴素的本地发现不可靠。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。