VLog: A Column-Oriented Datalog Engine
It has been shown that columnar relational technology can execute efficiently analytical SQL queries, but it deals poorly with updates. For Datalog queries, however, the problem of updates can be avoided altogether by working in append-only mode and by producing the inferences one "set-at-a-time" instead of one "fact-at-a-time".
VLog is a recent Datalog engine that implements such columnar-oriented approach for executing Datalog materialization efficiently. In this talk, I will introduce the core design principles of VLog, and describe how this approach leads to good data compression and allows the implementation of techniques for avoiding duplicates. Then, I will describe some experiments that show that VLog has highly competitive performance, especially if executed on commodity hardware.
In the last part of this talk, I will briefly report on some ongoing work on extending VLog to handle existentially quantified rules (chase) and on a novel machine learning technique for improving query-driven evaluation (QSQR and Magic Sets).