Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Neo4j eases relationship traversals => especially useful for a social network for instance.

But are there any scenarios when it's advised to associate an additional relational database (or other NoSQL database that isn't specifically oriented graph) for specific query types.

In short, can Neo4j be sufficient to itself for all query tasks?

share|improve this question

closed as too broad by gnat, Snowman, MichaelT, durron597, GlenH7 Oct 3 '15 at 23:44

There are either too many possible answers, or good answers would be too long for this format. Please add details to narrow the answer set or to isolate an issue that can be answered in a few paragraphs.If this question can be reworded to fit the rules in the help center, please edit the question.

Given that the only operations in SQL are essentially join and filters, and that filters are trivial in Neo4j, while joins can be simulated by following a relation with a given name, I would say yes. I am not sure that it would be a very efficient way to query, though. – Andrea Jan 11 '13 at 15:35
up vote 2 down vote accepted

I tend to think of it this way. SQL relational databases are tuned to run SQL queries as fast as possible, whether or not that is the best way to represent your data.

Each of the NoSQL products have generally arisen because SQL databases are not a good match for representing a particular type of data, and are tuned for that use. If you are using a well respected product for the problem its designed to solve, then you are probably in good shape.

Go outside this, and it tends to bite you.

share|improve this answer
That's clear, thanks :) – Mik378 Jan 12 '13 at 17:10

Not the answer you're looking for? Browse other questions tagged or ask your own question.