Using graph databases in popular open source CMSs
Neo4J and Drupal, potential application areas and module introduction
Traditionally CMSs use SQL databases that are really fast when you need all the information stored together in a record row, but are a bad fit when you need to search for relationship patterns that are not already stored together in your database. A significant performance penalty is incurred for every additional table that needs to be joined for a query. That is why SQL databases are notoriously bad at deducting relationships from datasets. Graph databases however are really good at this task. In this talk we discuss potential application areas of graph databases in existing open source CMSs like Drupal.
We believe graph databases could make a big difference when used in key areas where traditionally CMSs would fail: Explore large non-uniform datasets: Neo4j got a lot of attention after it was used by investigative journalists to identify the organisations and individuals involved in offshore tax evasion in the Panama papers leak. Recommend content: Media companies like the Financial Times are using Neo4j to display related content on their website, this helps them to increase engagement with higher clickthrough rates. Personalisation: Addidas uses the Neo4j graph database to create it’s internal metadata service, offering access and searchability to their data and making sense of complex interdependencies and relationships.
We've created a basic integration that makes it possible for non-developers to work with Neo4j. Combined with Drupal’s content modelling capabilities we believe it could be a powerful tool for people to explore graph databases using a GUI. There is also a case to be made for the use of graph databases in the Drupal ecosystem: sites that already use Drupal could benefit from its capabilities.
|Kristof Van Tomme|