1. A Differential Datalog Interpreter
- Author
-
de Lima, Bruno Rucy Carneiro Alves, Kramer, Merlin, and Apinis, Kalmer
- Subjects
Computer Science - Databases ,Computer Science - Artificial Intelligence ,Computer Science - Programming Languages ,I.2.1 ,I.2.4 ,I.2.5 - Abstract
The core reasoning task for datalog engines is materialization, the evaluation of a datalog program over a database alongside its physical incorporation into the database itself. The de-facto method of computing it, is through the recursive application of inference rules. Due to it being a costly operation, it is a must for datalog engines to provide incremental materialization, that is, to adjust the computation to new data, instead of restarting from scratch. One of the major caveats, is that deleting data is notoriously more involved than adding, since one has to take into account all possible data that has been entailed from what is being deleted. Differential Dataflow is a computational model that provides efficient incremental maintenance, notoriously with equal performance between additions and deletions, and work distribution, of iterative dataflows. In this paper we investigate the performance of materialization with three reference datalog implementations, out of which one is built on top of a lightweight relational engine, and the two others are differential-dataflow and non-differential versions of the same rewrite algorithm, with the same optimizations., Comment: This version has been removed by arXiv administrators, as we were obligated to do, due to claimed copyright infringement by a third party
- Published
- 2023