Comparing columnar, row and array DBMSs to process recursive queries on graphs

Citation data:

Information Systems, ISSN: 0306-4379, Vol: 63, Page: 66-79

Publication Year:
2017
Usage 1608
Abstract Views 1600
Link-outs 8
Captures 23
Exports-Saves 13
Readers 10
Social Media 36
Shares, Likes & Comments 36
Citations 3
Citation Indexes 3
DOI:
10.1016/j.is.2016.04.006
Author(s):
Carlos Ordonez, Wellington Cabrera, Achyuth Gurram
Publisher(s):
Elsevier BV
Tags:
Computer Science
article description
Analyzing graphs is a fundamental problem in big data analytics, for which DBMS technology does not seem competitive. On the other hand, SQL recursive queries are a fundamental mechanism to analyze graphs in a DBMS, whose processing and optimization are significantly harder than traditional SPJ queries. Columnar DBMSs are a new faster class of database system, with significantly different storage and query processing mechanisms compared to row DBMSs, still the dominating technology. With that motivation in mind, we study the optimization of recursive queries on a columnar DBMS focusing on two fundamental and complementary graph problems: transitive closure and adjacency matrix multiplication. From a query processing perspective we consider the three fundamental relational operators: selection, projection and join (SPJ), where projection subsumes SQL group-by aggregation. We present comprehensive experiments comparing recursive query processing on columnar, row and array DBMSs to analyze large graphs with different shape and density. We study the relative impact of query optimizations and we compare raw speed of DBMSs to evaluate recursive queries on graphs. Results confirm classical query optimizations that keep working well in a columnar DBMS, but their relative impact is different. Most importantly, a columnar DBMS with tuned query optimization is uniformly faster than row and array systems to analyze large graphs, regardless of their shape, density and connectivity. On the other hand, there is no clear winner between the row and array DBMSs.

This article has 0 Wikipedia mention.