Performing real-time social recommendations on a highly-available graph database cluster

Călin Constantinov, Cosmin Marian Poteraş, Mihai Lucian Mocanu · 2016

Recommendations are more likely to be of value as larger volumes of diverse data are analysed. While undoubtedly having the potential to provide very relevant information, social-enhanced recommendation engines require optimal usage of computational power. Thanks to their proven robustness, SQL databases have long been the main choice for managing data in such systems. However, they are known for not being able to provide satisfactory scaling options and for lacking the capacity of efficiently representing flexible, unstructured information. As opposed to using a conventional SQL database, on which very complex and time consuming queries are run at specific time intervals and which then store and display precomputed and possibly outdated information to their users, the novelty of a system based on a NOSQL or Graph database brings the advantage of using a technology that has the analytical and discovery capabilities that no other persistence solution can provide. The paper reviews the design principles of a system belonging to the latter category from those mentioned above. It also presents a case study for a so called real-time recommender engine in which these assertions will be further detailed and validated. For an application that will have to model and process information in the form of a social network, a graph database is a promising solution because, contrarily to a SQL alternative, overall performance shouldn't necessarily decrease as the size of the database grows. This can enable a system to handle very large amounts of simultaneous read and write requests while maintaining reasonable response times.

Read the paper · More papers on PaperTik