Why Graphs Are the Natural Model for Recommendations
Every recommendation is fundamentally a relationship problem. "Users who bought X also bought Y" is a two-hop traversal. "Friends of friends who liked this movie" is three hops. "Products similar to what you viewed last week, filtered by your social circle's preferences" crosses multiple dimensions at once.
Relational databases model these patterns with expensive recursive JOINs that degrade exponentially with depth. Document stores lose relationship context entirely. Graph databases make connections first-class citizens, so traversing millions of relationships takes milliseconds, not minutes.
But a graph alone is not enough. Modern recommendation engines need three signal types working together:
- Structural signals — who is connected to whom, what was purchased together, which categories overlap (graph traversal)
- Semantic signals — content similarity, user preference embeddings, visual/textual features (vector search)
- Temporal signals — what was viewed recently, trending items, seasonal patterns, engagement decay (time series)
Most architectures scatter these across three separate systems. ArcadeDB unifies them in one engine.