Graph database management systems (GDBMSs) are highly optimized to perform fast traversals, i.e., joins of vertices with their neighbours, by indexing the neighbourhoods of vertices in adjacency lists. However, existing GDBMSs have system-specific and fixed adjacency list structures, which makes each system efficient on only a fixed set of workloads. We describe a new tunable indexing subsystem for GDBMSs, we call A+ indexes, with materialized view support. The subsystem consists of two types of indexes: (i) vertex-partitioned indexes that partition 1-hop materialized views into adjacency lists on either the source or destination vertex IDs; and (ii) edge-partitioned indexes that partition 2-hop views into adjacency lists on one of the edge IDs. As in existing GDBMSs, a system by default requires one forward and one backward vertex-partitioned index, which we call the primary A+ index. Users can tune the primary index or secondary indexes by adding nested partitioning and sorting criteria. Our secondary indexes are space-efficient and use a technique we call offset lists. Our indexing subsystem allows a wider range of applications to benefit from GDBMSs' fast join capabilities. We demonstrate the tunability and space efficiency of A+ indexes through extensive experiments on three workloads.
翻译:图表数据库管理系统(GDBMS)高度优化,可以快速穿行,即通过在相邻列表中将脊椎周围的相邻区与邻居合并,将脊椎与邻居合并,在相邻列表中进行索引化。然而,现有的GDBMS有系统专用和固定的相邻列表结构,使每个系统仅对固定的工作量组合具有效率。我们描述的是一个新的为GDBMS(我们称为A+指数)设计的可加金枪鱼索引子系统,并提供实际化的视图支持。该子系统由两类指数组成:(一) 通过在源或目的地脊椎识别码中将1点偏移观点纳入相邻列表;以及(二) 偏差指数,使每个系统仅对一套固定的工作量组合组合组合在一起,使每个系统对相近的相邻列表产生效率。与现有的GDBMS(默认的系统)一样,需要一种前向和后向的螺旋分割索引,我们称之为主要的A+指数。用户可以通过在主A+指数上调整主要指数或二级指数,通过添加我们定位的系统定位定位定位定位定位定位定位定位和排序的系统测试系统应用标准。