
Why Neo
Neo4j is the most robust, highly performant and scalable graph database available on the market today. It is based on more than 8 years of R&D and has been in 24/7 production deployments since 2003. Neo4j scales to billions of entities on single-machine hardware and often provides traversal performance improvements of 1000x or more compared to relational backends.
The graph advantage
A graph is a mathematical term for data structured in a network. A graph database like Neo4j uses simple graph building blocks (nodes, relationships and key-value properties) to model information. This allows software developers to work with a flexible, dynamic and adaptive data structure rather than forcing their domain data into strict and static tables.

For an in-depth introduction to the Neo4j model, including history, motivation and benefits, please see our technology white paper. [PDF, 8 pages, ~650k]
Key benefits
This flexibility results in substantial development time and runtime benefits. In particular:
- No O/R mismatch: Because all object-oriented models are graphs, there's no inherent mismatch between the domain layer model and the persistence model. This substantially improves development time as programmers are no longer forced to map their OO domain layers to a relational backend.
- Easy schema evolution: Neo4j has a data-first, bottom-up approach to schemas, which allows for rapidly evolving the data model along with the domain layer. This approach significantly reduces the time it takes to adapt the data model to changing business requirements.
- Efficient storage of semi-structured information: Semi-structured information (data with few mandatory and many optional attributes) is exploding in growth in web 2.0/3.0 applications and elsewhere. It leads to so-called sparse tables in relational models, whereas Neo4j's key-value properties can efficiently represent semi-structure.
- High performance on deep traversals: Unlike the relational model, where every "jump" in a graph or a tree is an expensive join, Neo4j traverses complex graphs with very high performance. It is not uncommon to have traversal performance improvements of 1000x or more compared to relational backends.
All this power is hidden behind a small and elegant object-oriented API, which offers convenient access to creating, updating and removing objects in the database as well as expressing powerful traversal queries.
Top features
Neo4j is a robust system that has been in 24/7 production deployment since 2003, having served hundreds of customers and many mission-critical organizations. It is an enterprise class database with:
- a disk-based, native graph storage manager that uses a binary on-disk representation highly optimized for graph traversals.
- full transaction support, with a custom JTA/JTS-compliant transaction manager that supports distributed transactions, two-phase commits (2PC), transaction recovery, deadlock detection and everything else you would expect from a mature, enterprise-strength database.
- massive scalability, supporting billions of nodes/relationships/properties on single-machine hardware.
- a small footprint (a single <500k jar).
For a more technical introduction to Neo4j, read the technology white paper or visit the community pages.

