A+ Indexes: Lightweight and Highly Flexible Adjacency Lists for Graph Database Management Systems

03/31/2020
by   Amine Mhedhbi, et al.
0

Graph database management systems (GDBMSs) are highly optimized to perform very fast joins of vertices by indexing the neighbourhoods of vertices in adjacency list indexes. However, existing GDBMSs have system-specific and fixed adjacency list index structures, which makes each system highly efficient on only a fixed set of workloads. We describe a highly flexible and lightweight indexing sub-system for GDBMSs, that is coupled with materialized view capability, that we call A+ indexes. A+ indexes comprise of three components. Default A+ indexes provide flexibility to users to index neighbourhoods of vertices using arbitrary nested secondary partitioning and sorting criteria. This allows users to optimize a system for a variety of workloads with no or minimal memory overheads. Secondary vertex- and edge-bound A+ indexes, respectively are views over edges and 2-paths. Edge-bound indexes partition views over 2-paths by edge IDs and store the neighbourhoods of edges instead of vertices. Our secondary indexes are designed to have a very lightweight implementation based on a technique we call offset lists. A+ indexes allow a wider range of applications to benefit from GDBMSs' fast join capabilities. We demonstrate the flexibility, efficiency, and low memory overheads of A+ indexes through extensive experiments on a variety of applications.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset