It is well-known that processing of complex analytical queries over large graph datasets introduces a major pain point - runtime memory consumption. To address this, recently, a method based on factorized query processing (FQP) has been proposed. It has been shown that this method is able to dramatically reduce runtime memory consumption on many widely used subgraph matching workloads.
FQP, however, requires a re-thinking of several parts of query optimization pipeline, specifically, cardinality estimation. Good cardinality estimation is essential in picking good query evaluation plans by a database system. Since FQP deals with compressed factorized data, cardinality estimation techniques developed to account for non-factorized data no longer work.
In this project, you will develop techniques designed to aid an FQP-based query optimizer.