cancel
Showing results forย 
Search instead forย 
Did you mean:ย 

Head's Up! These forums are read-only. All users and content have migrated. Please join us at community.neo4j.com.

adam_cowley
Neo4j
Neo4j

Goals

This guide explains how graph databases are related to other NoSQL databases and how they differ.

Prerequisites

You need no prior knowledge of other NoSQL databases, although it is helpful to have read the guide on graph databases and understand basic data modeling questions and concepts.

Although unhelpfully named, the NoSQL ("Not only SQL") space brings together many interesting solutions offering different data models and database systems, each more suitable than traditional SQL solutions for certain use cases and shapes of data.

With the advent of the NoSQL movement, the "one-size-fits-all" proposition of large relational systems was replaced by conscious decisions about finding the right tool for the job.

Most NoSQL systems are aggregate-oriented, grouping the data based on a particular criterion and the database type (such as document store, key-value pair, etc). This model provides only simple, limited operations and only forms one dedicated view of your data. Focusing on one aggregate at a time allows users to easily spread many chunks of data across a network of machines along the aggregate dimension (for instance, the Document in document databases), but that means that other projections and perspectives have to be computed by crunching or duplicating your data.

Most NoSQL databases store sets of disconnected aggregates. This makes it difficult to use them for connected data and graphs. One well-known strategy for adding relationships to such stores is to embed an aggregateโ€™s identifier inside the field belonging to another aggregate โ€” effectively introducing foreign keys. But, this requires joining aggregates at the application level, which quickly becomes prohibitively expensive.

โ€” Graph Databases, O'Reilly

Other NoSQL databases lack relationships. Graph databases, on the other hand, handle fine-grained networks of information, providing any perspective on your data that fits your use case. The well-known and trusted transactional guarantees from relational systems also protect updates of the graph data in Neo4j, conforming to ACID standards.

Letโ€™s compare the graph data model to other NoSQL models.


This is a companion discussion topic for the original entry at https://neo4j.com/developer/graph-db-vs-nosql/