When designing a social recommendation engine an important decision is what type of database(s) you use to store the data models. Senior database engineers instinct is to dive into UML mode and start entity relationship modelling. Young full-stack developers fire up mongoDB or similar without too much more considerations.
ParrotPlay chose to adopt the most mature commercially available graph database on the market – Neo4j.
A lot can be said about graph databases, and a significant portion of those sentences can easily contain juicy four-letter words. But the great power of a graph is the conceptual ease of modelling dynamic relationships between data without increasing the application complexity doing expensive JOINS for instance.
We have walked down a few painful paths to get here. How to effectively do free-text-search effectively without re-building the whole database did plague us for a long time. But we have gradually learned to master the ins and outs of our beautiful machine and have great expectations that “Bruce the Parrot AI” will be able to perform magical tricks to help its users getting to the their best entertainment options going forward, social or algorithmic. It really does not matter – in the ParrotPlay universe you can have services, AI and real people as friends – all is social.