Multiple graphs in a database

In the MR2 document, 3.1.3 states

In logical terms, a database is a container for one or more graphs. In MR2, a database is a container for one graph only.

What are good examples of having multiple graphs in a database vs multiple databases? When multiple graphs in a database are supported, would the transaction domain expand across multiple graphs?

Let me rephrase the vocabulary:

: a JVM running Neo4j, potentially multiple databases

: a "graph space". Any query is run within a defined database and cannot break out of it. The very same
concept of "create database" e.g. in mysql. Different databases can have different permissions being set up.

: a set of nodes/rels residing inside a database. Think about unconnected components.

A transaction is always on a database level, there's no notion of cross-database transactions.

A nice example of multiple databases: consider a large company where multiple departments work with graphs that need to be strictly separated for either legal or organizational reasons. IT doesn't want to maintain a bunch of different servers (or containers). So they could go with one instance (potentially clustered) and create a separate db for each department.

1 Like