Skip to main content
QUICK REVIEW

[論文レビュー] Efficiently Computing Provenance Graphs for Queries with Negation

Seokki Lee, Sven Köhler|arXiv (Cornell University)|Jan 20, 2017
Scientific Computing and Data Management参考文献 21被引用数 4
ひとこと要約

本稿では、否定を含む一階論理クエリにおけるタプルがなぜ出現するか、なぜ欠落しているかを説明するための統合的で効率的なフレームワークを提示する。火付けルール(firing rules)を拡張して、成功した導出と失敗した導出を捉えることを可能にし、スケーラブルな実行を実現するためSQLベースのリライティングを採用している。また、不要な証明を早期に pruning することで、従来手法に比べて顕著な性能向上を達成している。

ABSTRACT

Explaining why an answer is in the result of a query or why it is missing from the result is important for many applications including auditing, debugging data and queries, and answering hypothetical questions about data. Both types of questions, i.e., why and why-not provenance, have been studied extensively. In this work, we present the first practical approach for answering such questions for queries with negation (first-order queries). Our approach is based on a rewriting of Datalog rules (called firing rules) that captures successful rule derivations within the context of a Datalog query. We extend this rewriting to support negation and to capture failed derivations that explain missing answers. Given a (why or why-not) provenance question, we compute an explanation, i.e., the part of the provenance that is relevant to answer the question. We introduce optimizations that prune parts of a provenance graph early on if we can determine that they will not be part of the explanation for a given question. We present an implementation that runs on top of a relational database using SQL to compute explanations. Our experiments demonstrate that our approach scales to large instances and significantly outperforms an earlier approach which instantiates the full provenance to compute explanations.

研究の動機と目的

  • 否定を含むクエリにおける答えがなぜ出現するか、なぜ欠落しているかを説明するという課題に取り組み、'なぜ'と'なぜでないか'の両方の証明を統合すること。
  • 大規模なデータベースでは実行不可能になるため、完全な証明グラフをインスタンス化する従来のアプローチのスケーラビリティの限界を克服すること。
  • ユーザーの特定の質問に応じて、関連する部分(説明)のみを効率的に計算する実用的で効率的な手法を開発し、不要な計算を回避すること。
  • 標準SQLを用いて大規模なリレーショナルデータベース上で効率的な証明計算を実現し、実世界のシステムに展開可能であることを保証すること。
  • 複数の変数と否定された部分目標を含む複雑なクエリをサポートすること。これは、実世界のデータ分析や監査ワークロードで一般的である。

提案手法

  • 各ルール適用の導出コンテキスト(入力タプルの依存関係を含む)を捉えるために、Datalogルールの再ライティングとして「火付けルール(firing rules)」を導入する。
  • 不足している入力タプルを追跡することで、火付けルールを失敗した導出をモデル化するように拡張し、欠落した答えの説明を可能にする負の証明を可能にする。
  • 特定のクエリ(なぜ、またはなぜでないか)に関連する最小限の証明サブグラフ(説明)として「説明」を定義し、早期に不要な部分を pruning する。
  • 証明計算をリレーショナルデータベース上で実行可能なSQLクエリにコンパイルし、効率的でスケーラブルな評価を実現する。
  • クエリのバインディング制約に基づいて、非関連パスを早期に pruning する最適化を適用し、計算のオーバーヘッドを低減する。
  • 存在変数、複数のジョインを含む複雑なDatalogクエリを、SQLにおける関係的ビューの集合として証明論理を表現することでサポートする。

実験結果

リサーチクエスチョン

  • RQ1否定を含む一階論理クエリにおいて、どのようにして肯定的および否定的な答えの両方の証明を効率的に計算できるか?
  • RQ2特定のクエリに対して、関連するサブグラフ(説明)のみを計算することで、完全な証明グラフを構築する必要を回避できるか?
  • RQ3データベースサイズとクエリの複雑さが増加する際、特に複数の変数と否定を含むクエリにおいて、本手法の性能はどのようにスケーリングするか?
  • RQ4全証明グラフをインスタンス化する従来手法に比べて、顕著な性能向上を達成できるか?
  • RQ5欠落した答えの証明説明のサイズと計算時間を低減するために、どのような最適化が有効か?

主な発見

  • 提案手法は、10,000タプル未満のデータセットに限定される従来のDM手法を著しく上回り、はるかに大きなデータベースにもスケーリング可能である。
  • 多くの変数と否定を含むクエリ(例:r4, r5, r6)に対しても、本手法は効率的であり、DMが小さなデータセットですらタイムアウトになる状況でも正常に動作する。
  • なぜでないかの質問において、本手法の実行時間はデータベースサイズに対して準二次関数的(sub-quadratically)に増加するが、DMの実行時間は小さなインスタンスを越えると著しく増大し、実行不能になる。
  • DBLPおよびTPC-Hワークロードの両方で、本手法はスケーラブルな性能を発揮し、異なるクエリタイプやバインディングパターンにおいて一貫した高速化を達成している。
  • pruning最適化により、関連する導出パスにのみ焦点を当てることで、計算された証明グラフのサイズが削減され、クエリ実行が高速化され、メモリ使用量も低減されている。
  • SQLベースの実装により、標準のRDBMS上で展開可能であり、実世界のデータ監査やデバッグ応用に実用的なフレームワークを提供している。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。