当前位置: X-MOL 学术arXiv.cs.DB › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Making RDBMSs Efficient on Graph Workloads Through Predefined Joins
arXiv - CS - Databases Pub Date : 2021-08-24 , DOI: arxiv-2108.10540
Guodong Jin, Semih Salihoglu

Joins in native graph database management systems (GDBMSs) are predefined to the system as edges, which are indexed in adjacency list indices and serve as pointers. This contrasts with and can be more performant than value-based joins in RDBMSs and has lead researchers to investigate ways to integrate predefined joins directly into RDBMSs. Existing approaches adopt a strict separation of graph and relational data and processors, where a graph-specific processor uses left-deep and index nested loop joins for a subset of joins. This may be suboptimal, and may lead to non-sequential scans of data in some queries. We propose a purely relational approach to integrate predefined joins in columnar RDBMSs that uses row IDs (RIDs) of tuples as pointers. Users can predefine equality joins between any two tables, which leads to materializing RIDs in extended tables and optionally in RID indices. Instead of using the RID index to perform the join directly, we use it primarily in hash joins to generate semi-join filters that can be passed to scans using sideways information passing, ensuring sequential scans. In some settings, we also use RID indices to reduce the number of joins in query plans. Our approach does not introduce any graph-specific system components, can execute predefined joins on any join plan, and can improve performance on any workload that contains equality joins that can be predefined. We integrated our approach to DuckDB and call the resulting system {\em GRainDB}. We demonstrate that GRainDB far improves the performance of DuckDB on relational and graph workloads with large many-to-many joins, making it competitive with a state-of-the-art GDBMS, and incurs no major overheads otherwise.

中文翻译:

通过预定义的连接使 RDBMS 在图形工作负载上高效

本机图形数据库管理系统 (GDBMS) 中的连接被系统预定义为边,边在邻接列表索引中编入索引并用作指针。这与 RDBMS 中基于值的连接形成对比,并且可能比 RDBMS 中的基于值的连接更高效,并引导研究人员研究将预定义连接直接集成到 RDBMS 的方法。现有方法采用图和关系数据和处理器的严格分离,其中特定于图的处理器使用左深和索引嵌套循环连接来连接子集。这可能不是最理想的,并且可能导致在某些查询中对数据进行非顺序扫描。我们提出了一种纯粹的关系方法,将预定义的连接集成到使用元组的行 ID (RID) 作为指针的列式 RDBMS 中。用户可以预定义任意两个表之间的等式连接,这导致在扩展表和可选的 RID 索引中实现 RID。我们不使用 RID 索引直接执行连接,而是主要在哈希连接中使用它来生成半连接过滤器,这些过滤器可以使用横向信息传递传递给扫描,确保顺序扫描。在某些设置中,我们还使用 RID 索引来减少查询计划中的连接数量。我们的方法不引入任何特定于图的系统组件,可以在任何连接计划上执行预定义的连接,并且可以提高包含可以预定义的等式连接的任何工作负载的性能。我们将我们的方法集成到 DuckDB 中,并将生成的系统称为 {\em GRainDB}。我们证明了 GRainDB 在具有大量多对多连接的关系和图形工作负载上大大提高了 DuckDB 的性能,
更新日期:2021-08-25
down
wechat
bug