“A Graph Database –transforms a–> RDBMS”
The Neo4j site seems to imply that whatever you can do in RDBMS, you can do in Neo4j.
Before choosing Neo4j as a replacement for an RDBMS, I need some doubts answered.
I am interested in Neo4j for
- ability to do quickly modify data "schema"
- ability to express entities naturally instead of relations and normalizations
- ...which leads to highly expressive code (better than ORM)
This is a NoSQL solution I am interested in for it's features, not high performance.
Question: Does Neo4j present any issues that may make it unsuitable as a RDBMS replacement?
I am particularly concerned about these:
- is there any DB feature I must implement in application logic? (For example, you must implement joins at application layer for a few NoSQL DBs)
- Are the fields "indexed" to allow a lookup faster than O(n)?
- How do I handle hot backups and replication?
- any issues with "altering" schema or letting entities with different versions of the schema living together?