Neo4j is a highly scalable, native graph database purpose-built to leverage not only data but also its relationships.
Neo4j's native graph storage and processing engine deliver constant, real-time performance, helping enterprises build intelligent applications to meet today’s evolving data challenges.Download Neo4j Read the Datasheet
Today's world is no longer driven by data – it's driven by the connections between them.
Big data alone used to be enough, but enterprise leaders need more than just volumes of information to make bottom-line decisions. You need real-time insights into how data is related.
Data relationships drive today's intelligent applications, and you need a database that harnesses those connections for sustainable competitive advantage. That solution is a graph database.
Graphs – i.e., networks – are the most efficient and intuitive way of working with data, mimicking the interconnectedness of ideas in the human mind. Neo4j is built from the ground up to harness the power of graphs for real-time, bottom-line insights.
Discover the competitive advantage of using a graph databaseDownload the White Paper
Graph databases are built for today's agile development cycles. With Neo4j, your development team doesn't need to struggle to fit your data into predefined tables, and when business requirements change, the data model can flexibly adapt in minutes – not months.
When it comes to detecting fraud, recommending products to online users or identifying compromised networks, your enterprise can't afford to wait minutes for results to calculate. In a world of data-driven decision making, you need a real-time database to keep you informed.
Whether you're serving up online recommendations to billions of users, managing enterprise master data hierarchies or routing millions of packages per day in real time, Neo4j is built to perform at scale. High availability clustering and rock-solid transactional guarantees translate into near-linear read scalability that's fit for any enterprise data challenge.
“As the current market leader in graph databases, and with enterprise features for scalability and availability, Neo4j is the right choice to meet our demands.”Discover How Walmart Scales Neo4j for Millions of Users >
*Neo4j Enterprise Edition feature
There's no denying: Other data stores have their appropriate use cases. But whenever your enterprise wants to leverage the connections between data points, you need to tap into the power of Neo4j.
Here's how the world's leading graph database stacks up against traditional relational databases (RDBMS) and other competing NoSQL data stores:
|Category||Relational Database||Neo4j, Native Graph Database|
|Data Storage||Storage in fixed, pre-defined tables with rows and columns with connected data often disjointed between tables, crippling query efficiency.||Graph storage structure with index-free adjacency results in faster transactions and processing for data relationships.|
|Data Modeling||Database model must be developed with modelers and translated from a logical model to a physical one. Since data types and sources must be known ahead of time, any changes require weeks of downtime for implementation.||Flexible, "whiteboard-friendly" data model with no mismatch between logical and physical model. Data types and sources can be added or changed at any time, leading to dramatically shorter development times and true agile iteration.|
|Query Performance||Data processing performance suffers with the number and depth of JOINs (or relationships queried).||Graph processing ensures zero latency and real-time performance, regardless of the number or depth of relationships.|
|Query Language||SQL: A query language that increases in complexity with the number of JOINs needed for connected data queries.||Cypher: A native graph query language that provides the most efficient and expressive way to describe relationship queries.|
|Transaction Support||ACID transaction support required by enterprise applications for consistent and reliable data.||Retains ACID transactions for fully consistent and reliable data around the clock – perfect for always-on global enterprise applications.|
|Processing at Scale||Scales out through replication and scale up architecture is possible but costly. Complex data relationships are not harvested at scale.||Graph model inherently scales for pattern-based queries. Scale out architecture maintains data integrity via replication. Massive scale up possibilities with IBM POWER8 and CAPI Flash systems.|
|Data Center Efficiency||Server consolidation is possible but costly for scale up architecture. Scale out architecture is expensive in terms of purchase, energy use and management time.||Data and relationships are stored natively together with performance improving as complexity and scale grow. This leads to server consolidation and incredibly efficient use of hardware.|
|Category||Other NoSQL Databases||Neo4j, Native Graph Database|
|Data Storage||No support for connected data at the database level. Performance and data trustability degrade with scale and complexity of connections.||Native graph storage structure with index-free adjacency results in faster transactions and processing for data relationships.|
|Data Modeling||Data model not suitable for enterprise architectures as wide columns and document stores do not offer control at the design level. Puts undue pressure on the application level to catch and solve problems.||Flexible, "whiteboard-friendly" data model allows for fine-grained control of data architecture. Intuitive data model eases communication between developers, architects and DBAs.|
|Query Performance||No graph processing capability for data relationships, thus all relationships have to be created at the application level.||Native graph processing ensures zero latency and real-time performance, regardless of the number or depth of relationships.|
|Query Language||Query language varies, but no query constructs exist to express data relationships.||Cypher: A native graph query language that provides the most efficient and expressive way to describe relationship queries.|
|Transaction Support||BASE transactions lead to data corruption because basic availability and eventual consistency are unreliable for data relationships.||ACID transactions ensure data is fully consistent and reliable around the clock – perfect for always-on global enterprise applications.|
|Processing at Scale||Optimized for ingesting data but not reading data at scale. Scalability depends on scale out architecture that does not protect the integrity of graph-like data, so data is not trustworthy.||Native graph model inherently scales for pattern-based queries. Scale out architecture maintains data integrity via replication. Massive scale up possibilities with IBM POWER8 and CAPI Flash systems.|
|Data Center Efficiency||Scale out architecture assumes ongoing access to more and more commodity hardware without accounting for energy costs, network vulnerabilities and other risks.||Data and relationships are stored natively together with performance improving as complexity and scale grow. This leads to server consolidation and incredibly efficient use of hardware.|
Native Graph Storage
Neo4j uses native graph storage that is specifically designed to store and manage interconnected data. Each piece of data in Neo4j has an explicit connection to every related entity, meaning database queries can ignore anything that's not connected rather than crawl the entire dataset. The result is unparalleled speed and scale.
Non-native graph databases use relational or object-oriented databases for data storage instead, which becomes much more latent as data volume and query complexity grow.
Native Graph Processing
Neo4j's native graph processing (also known as “index-free adjacency”) is the most efficient means of processing graph data because connected nodes physically “point” to each other in the database. This means Neo4j can evaluate results at a rate of millions of hops per second delivering constant-time performance regardless of the size of the dataset.
Non-native graph processing often defaults to expensive index lookups which result in reduced performance.
|Category||Non-Native Graph Database||Neo4j, Native Graph Database|
|Data Storage||Since data is not stored as a graph, access is dictated by relational or other NoSQL model, slowing performance.||Native storage structure with index-free adjacency results in faster transactions and processing.|
|Query Performance||No graph processing capabilities – all relationships must be created at the application level or accessed via increasingly complex JOINs.||Native processing ensures low latency and real-time performance, regardless of the number or depth of relationships.|
|Transaction Support||BASE transactions lead to data corruption because basic availability and eventual consistency are unreliable.||ACID transactions ensure data is fully consistent and reliable around the clock – perfect for always-on global enterprise applications.|
|Processing at Scale||Scale out architecture does not protect graph data integrity, producing unreliable data. Scale up architecture optimized only for ingesting – but not reading – data at scale.||Native graph model inherently scales for pattern-based queries. Scale out architecture maintains data integrity via replication. Massive scale up possibilities with IBM POWER8 and CAPI Flash systems.|