Adobe runs Behance, a social network where digital artists share portfolios, learn from one another and showcase their work. The activity feed is a key feature of the site, part of the home page. When long-time Neo4j community member David Fox joined Adobe, he saw how a graph database could make this feature sing.
In this week’s five-minute interview (conducted at GraphConnect NYC) we discuss how Fox brought Neo4j Neo4j to Adobe, and his vision for the future of Neo4j.
How do you use Neo4j?
David Fox: I had used Neo4j at my past company. I was a big fan; we brought it to production there. When I came to Adobe, I was excited to look for applicable use cases for a graph database and bring it in. We happened to have a project that made a lot of sense, an important feature we needed to overhaul in our Behance social network product.
The use case was our activity feed. It’s a user-facing feature on Behance. It’s our home page right now. You’ll see a feed of activity from people you follow and curated categories you follow. Content from our curators will pop up on your activity feed.
Why did you choose Neo4j for the project?
Fox: We were using Cassandra to power our activity feed feature, and it had a really rigid and bloated data model. We had a huge cluster, with tons of resources going into it, both human resources and expensive servers. Neo4j allowed us to get away from that huge data and ops burden. That’s why we wanted to use it. And it really delivered in that respect, with our ops team not having to worry about it anymore and a much smaller, more manageable dataset.
Can you talk about some of the most interesting results you’ve had while using Neo4j?
Fox: One of the most interesting things about our project was that we were able to go from 48 Cassandra instances to three Neo4j instances. Going into the project, we weren’t sure whether that was going to be possible.
If you could start over with Neo4j, taking everything you know now, what would you do differently?
Fox: On the most recent project I waited a little while to build a prototype. Then I realized how easy it was to prototype on Neo4j. I probably should have done that a little earlier and had something visual to present to the Dev team. I ended up doing a prototype, but it was a little later than it could have been.
What do you see as the future of Neo4j?
Fox: When I started using Neo4j, almost five years ago, the community was much smaller. It’s grown a lot, and I think we’ll continue to see the compelling use cases you see now, including machine learning recommendations.
Something that Neo4j has been working on for a while, that I think is going to progress, is partitioning graphs off of one machine. That’s been a limitation for a long time, although it rarely comes into play. I think you get into a whole different stratosphere of data if you’re able to partition a graph database. That’s done by some software, but then you get slower querying. I know it’s been something Neo4j has been researching for a long time. I’m curious to see where that leads.
Want to share about your Neo4j project in a future 5-Minute Interview? Drop us a line at firstname.lastname@example.org
Download this white paper, The Top 5 Use Cases of Graph Databases, and discover how to tap into the power of graphs for the connected enterprise.
Read the White Paper