Introduction
Overview
As of Neo4j 5, the Fabric technology has been extended by composite databases and, as such, these replace what was known as Fabric in Neo4j 4.x. Composite databases is a functionality which allows queries that access multiple graphs at once.
Composite databases enable:
-
Data Federation: the ability to access data available in distributed sources in the form of disjointed graphs.
-
Data Sharding: the ability to access data available in distributed sources in the form of a common graph partitioned on multiple databases.
Concepts
Composite databases don’t store any data on their own, but rather give access to the graphs found on other databases. These graphs are added to the composite database by means of database aliases.
A Neo4j DBMS can have multiple composite databases, and they can be created both in single-instance deployments, and in cluster deployments.
Composite databases are managed using administrative commands.
They are created with the CREATE COMPOSITE DATABASE
command.
CREATE COMPOSITE DATABASE cineasts
Constituent graphs are added with the CREATE ALIAS
administrative command, for example:
CREATE ALIAS cineasts.latest
FOR DATABASE movies2022
Aliases can also be created for databases on other DBMSs:
CREATE ALIAS cineasts.upcoming
FOR DATABASE upcoming
AT 'neo4j+s://other.dbms.com'
USER $user
PASSWORD $secretpassword
The SHOW DATABASE
administrative command includes composite databases.
Their type
is reported as "composite"
, and the constituents
column lists the names of the aliases contained.
SHOW DATABASE cineasts YIELD name, type, constituents
+---------------------------------------------------------------------+ | name | type | constituents | +---------------------------------------------------------------------+ | "cineasts" | "composite" | ["cineasts.latest", "cineasts.upcoming"] | +---------------------------------------------------------------------+
The SHOW ALIASES FOR DATABASE
administrative command can be used to inspect aliases on composite databases in further detail.
SHOW ALIASES FOR DATABASE
+----------------------------------------------------------------------------------------+ | name | database | location | url | user | +----------------------------------------------------------------------------------------+ | "cineasts.latest" | "movies2022" | "local" | NULL | NULL | | "cineasts.upcoming" | "upcoming" | "remote" | "neo4j+s://other.dbms.com" | "cineast" | +----------------------------------------------------------------------------------------+
For a full description of the administrative commands for managing composite databases, see Cypher Manual → Database management.
Was this page helpful?