Road, Airline, Rail and Shipping networks rely heavily on geography, routing and optimisation. As such they are perfect examples for being able to benefit from Graph databases.
Tramchester: Public Transport App
Tramchester is a new public transport mobile web application for the Tram network in Manchester UK, built by the Thoughtworks Tech Lab in just six weeks.
The application models the tram network using a graph database. The graph database calculates the best route between two tram stations using a path finding algorithm. Users can select a preferred tram route based on nearest tram stop, departure and arrival time, number of connections and tram line. Once a tram route is selected it will give you detailed instructions of the journey.
Tramchester is built using publicly available data and open source technology and hosted in the cloud. The application was designed with a mobile first approach and built to be used on any mobile phone, computer or device with Internet access.
Why Graph Databases?
A graph database, is a type of NoSQL database that uses graph theory to store, map and query relationships. Graph databases are well-suited for analysing interconnections and working with data in business disciplines that involve complex relationships such as the travel and transport industry.
Graph databases excel at mapping physical locations against the various ways that one might get people or things to and from those locations. Built-in graph algorithms enable extremely fast execution of common problems, such as “shortest path.”
Benefits of Graph Databases
More efficient, saves time and effort. It is very challenging to get the inherent graph data to model a tabular structure for a relational database.
Improves quality, communication and innovation. Being able to map the domain model to the data model, allows for greater understanding between business and IT.
Increased performance. Graph databases can traverse millions of relationships in a short period of time, making querying them a lot faster than modelling the data in relational databases.
Improves business capability. Graph databases have flexible data models and can be easily adapted to business changes.
Thanks to co-authors Nima Montazeri, consultant, and Ben Earlam, senior consultant, for their contributions to this article.