Graph Database technology helps Behance reduce developer/operations staff hours
Prof. Roberto V. Zicari is Full Professor of Database and Information Systems at Frankfurt University and the editor of ODBMS.ORG. For ODBMS Industry Watch, he interviewed David Fox, a software engineer at Adobe. Fox is responsible for the backend infrastructure and performance of Behance. In this interview, Fox reveals the approach they had taken to minimize the amount of developer-operations staff hours required each month to keep Behance’s activity feed running.
Behance is the top destination for companies looking to hire creative talent on a global scale and a peer-to-peer sharing outlet among creatives. With over 10 million members, it is hardly surprising that Behance’s activity feed infrastructure serves millions of feed loads every day. The ‘Activity Feed’ feature allows users to follow creatives of their choice and curate galleries based on their preferences. Behance’s curation team also has pre-curated galleries for the users to follow.
Recently, Behance moved away from its previous implementation of ‘Activity Feed’ that was built with Cassandra. The primary reason was the many challenges faced in maintaining the Cassandra cluster, which led to a significant increase in the amount of ops/developer time consumed in supporting the cluster.
Instead of the Cassandra cluster, the team at Behance implemented a new activity feed. It was built over Neo4j. The new activity feed uses a simple graph model to store relationships between users and the entities they follow. In addition, the model facilitates the storing of simple “action” relationships that represent a user or a curated gallery taking an action on a project. This graph model produces very little data repetition. Therefore, data maintenance is simple with minimal use of resources and flexibility for data querying.
Click here to read the article.