Specialized graph data management systems have made significant
advances in storing and analyzing graph-structured data. However,
a large fraction of the data of interest still resides in relational database
systems (RDBMS) due to their maturity and security reasons.
Recent studies, in view of composability, show that the execution
of graph queries over relational databases, (i.e., a graph layer on
top of RDBMS), can provide competitive performance compared to
specialized graph databases.
While using the standard property graph model for graph querying,
one of the main bottlenecks for efficient query processing,
under memory constraints, is property projections, i.e., to project
properties of nodes along paths matching a given pattern. This is
because graph queries produce a large number of matching paths,
resulting in a lot of requests to the data storage or a large memory
footprint, to access their properties.
In this paper, we propose a set of novel techniques exploiting
the inherent structure of the graph (aka, a graph projection cache
manager) to provide efficient property projections. The controlled
memory footprint of our solution makes it practical in multi-tenant
database deployments. The empirical results on a social graph show
that our solution reduce the number of accesses to the data storage
by more than an order of magnitude, resulting in graph queries
being up to 3.1X faster than the baseline.