Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Anyway to have multiple databases on a neo4j instance?

Tags:

neo4j

Coming from a relational database mindset, it seems odd that one only one one graph db per instance of neo4j. Is the idea that we do multiple subgraphs starting from root ?

Thanks

like image 214
jini Avatar asked Jun 30 '13 16:06

jini


People also ask

How many databases can be created in Neo4j?

A default installation of Neo4j 4.4 contains two databases: system - the system database, containing metadata on the DBMS and security configuration. neo4j - the default database, a single database for user data.

How many databases and projects can you create in Neo4j desktop?

In a Neo4j Desktop project, you can create one or more DBMSs.

How many databases can the client access in the single transaction Neo4j?

Neo4j offers the ability to work with multiple databases within the same DBMS. For Community Edition, this is limited to one user database, plus the system database. From a driver API perspective, sessions have a DBMS scope, and the default database for a session can be selected on session construction.

What are the limitations of Neo4j?

Neo4j has some upper bound limit for the graph size and can support tens of billions of nodes, properties, and relationships in a single graph. No security is provided at the data level and there is no data encryption. Security auditing is not available in Neo4j.


2 Answers

The concept of "root" node is going away. There are many problems with this, most of which revolve around node density.

I believe the heart of your question is around database design, and whether it is smarter to have several graph database instances, or one instance with several subgraphs.

Really it's up to you, but I would go with the subgraph idea as it allows some of your data to be shared in the same connection, and Neo4j doesn't really any performance penalties if you do this, provided you keep them separated, then the only problem you'll eventually run into is the max size of nodes/relationship, but this is an artificial limit that will be bumped up later.

like image 162
Nicholas Avatar answered Oct 17 '22 23:10

Nicholas


If it is only for development, you can use neo4j-instance, it helps me work on several neo4j databases at once (at the same time, basically setting each on a different port), and it flows a lot better than adding a label to differentiate between different schema, or prefixing nodes with the scheme name. Since, you do not have to change how you interact with the neo4j databases because they are still separate databases on different ports.

like image 43
NiteRain Avatar answered Oct 17 '22 23:10

NiteRain