Performance Aspects of Geographic Data Processing in NoSQL Databases
摘要
The continuous increase in the amount of collected data forces the development of new methods of more optimal processing. In this case, the use of relational databases is limited due to their insufficient performance and scalability. One of the alternatives is NoSQL databases, which can be easily scaled. Graph databases are NoSQL databases that use a graph structure where nodes and relations store and process data. Tree-structured data are better represented in graph databases. The intuitive use of graph databases in geospatial solutions allows the use of a model consisting of nodes (data points) and relationships (connections between points). This is one of the reasons why graph databases can be used, for example, to calculate routes between points in a road network. This article presents performance tests of geospatial functions available in the popular NoSQL databases, which have been adapted to work with spherical geometry, making it particularly useful for working with geographic data. Tests were carried out on two of the most popular, according to the DB-Engines ranking, open-source graph database management systems—ArangoDB and Neo4j. This article compares the performance of the query that calculates the shortest path between arbitrarily selected vertices. Yen's and A* algorithms have been tested. Tests have shown that the ArangoDB system is faster than Neo4j, in which the A* algorithm proved more efficient than Yen's. The authors also converted queries to the PostgreSQL relational database, the performance of which was compared with graph databases.