The Internet-Scale Graph Platform
Neo4j’s Graph Platform is bringing a connections-first approach to applications and analytics across the enterprise.
A Graph Platform Reveals and Persists Connections
The graph platform takes a connections-first approach to data. It broadens a company’s ability recognize the importance of persisting relationships and connections through every transition of existence: from idea, to design in a logical model, to implementation in a physical model, to operation using a query language and to persistence within a scalable, reliable database system. The foundation of representing connected data is known as a graph.
Neo4j’s Graph Platform is built around the Neo4j native graph database:
- The Neo4j native graph database supports transactional applications and graph analytics
- Graph analytics help data scientists gain new perspectives on data
- Data integration expedites distilling tabular data and big data into graphs
- The Cypher graph query language is the bridge to big data analytic tooling
- Graph visualization and discovery help communicate graph technology benefits throughout the organization
- Enterprise architecture underlies and supports massive graph data
The Age of Connections
The age of connections started long before Millennials, yet they typify the world’s appetite for connections. Trends like social, mobile, analytics and cloud – as well as tomorrow’s aspirations towards autonomy, IoT and deep neural networks – are all dependent on increasing data connectedness. And yet, it remains extremely difficult for modern data stacks based on SQL and NoSQL to divine how data elements are related.
SQL and NoSQL Do Not Meet Graph Expectations
The truth is that relational database JOINs are expensive and NoSQL databases trade inalienable functions like data consistency and transactions for raw speed and scale, all of which causes headaches for developers, IT and data scientists, and all but ignores business users and executives.
Enterprise Architectures Need a Graph Platform
The Graph Platform fits seamlessly into enterprise data architectures, alongside, around and above relational warehouses, data lakes, cloud and legacy systems. In fact, many customers have deployed Neo4j to augment their existing infrastructures without interrupting everyday operations.
Connections Are the Future
Yesterday's breakthrough applications were driven by big data – tomorrow's breakthrough applications will be driven by connected data. No longer powered merely by data transactions, these applications draw together every system across the entire enterprise.
These networks of related data are known as graphs.
Neo4j’s Graph Platform is specifically optimized to map, analyze, store and traverse networks of connected data to reveal invisible contexts and hidden relationships. By intuitively mapping data points and the connections between them, Neo4j powers intelligent, real-time applications that tackle today's toughest enterprise challenges, including:
Graphs Are the Synapses
between Insights and Action
Neo4j’s Graph Platform is the fastest path available to operationalize enterprise analytic insights by connecting the work of big data IT to data scientists to application developers building impactful killer apps.
This is where artificial intelligence starts – through applications that make connections born from thoughtful algorithms upon a growing network of data assets.
Neo4j Desktop: Developer-Friendly Packaging
Neo4j Desktop is the new mission control center for developers. It's free with registration, and it includes a development license for Enterprise Edition. It also comes with installers for the APOC library, graph algorithms and GraphQL plugins. It will connect to your production servers, and eventually also install other components like Java upgrades. Developers will enjoy these features:
- Nodes are the main data elements
- Nodes are connected to other nodes via relationships
- Nodes can have one or more properties (i.e., attributes stored as key/value pairs)
- Nodes have one or more labels that describes its role in the graph
- Example: Person nodes vs Car nodes
- Relationships connect two nodes
- Relationships are directional
- Nodes can have multiple, even recursive relationships
- Relationships can have one or more properties (i.e., attributes stored as key/value pairs)
- Properties are named values where the name (or key) is a string
- Properties can be indexed and constrained
- Composite indexes can be created from multiple properties
- Labels are used to group nodes into sets
- A node may have multiple labels
- Labels are indexed to accelerate finding nodes in the graph
- Native label indexes are optimized for speed
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.|