Parallel Bidirectional Shortest Path Computation in Graphs Using Relational Database Management Systems (RDBMSs)
Graph data structures are widely used in computer science fields such as biometric information, navigational systems etc. Recently there has been significant research into quickly calculating the shortest path of a graph using the latest databases such as Neo4j, Spark, etc. Alternatively, the Frontier-Expand-Merge operator (FEM) provides a method to find the shortest path using only SQL in RDBMSs. However, the FEM utilizes sequential searching and iterative aggregate functions to find the shortest path. We propose parallel shortest path searching and table indexing as substitution for the aggregate function. To prove the effectiveness of this approach, we compared each method using experimentation and could demonstrate an improvement of up to 80% in processing speed with our proposal.
This work was supported by the National Research Foundation of Korea (NRF) grant funded by the Korea government (MSIT) (No. NRF-2017R1C1B1003600) and Institute for Information & Communications Technology Promotion (IITP) grant funded by the Korea government (MSIP) (No. R0113-15-0005, Development of a Unified Data Engineering Technology for Largescale Transaction Processing and Real-Time Complex Analytics) and Basic Science Research Program through the National Research Foundation of Korea (NRF) funded by the Ministry of Education (No. NRF-2018R1D1A1B07048380).
- 1.Neo4j. https://neo4j.com/
- 2.Apache Spark. https://spark.apache.org/
- 3.Wagner, D., Willhalm, T.: Speed-up techniques for shortest-path computations. In: Thomas, W., Weil, P. (eds.) STACS 2007. LNCS, vol. 4393. Springer, Berlin (2007)Google Scholar
- 7.The 9th DIMACS Implementation Challenge - Shortest Paths. http://www.dis.uniroma1.it/~challenge9/papers.shtml