8

What is the best way to achieve multi-tenancy in neo4j?

I have seen Tinkerpop and Spring Data.

I'm have multiple clients and I would like to store client info in its own database to ensure security.

I do not want to use labels or indexes to solve this problem.

Kelly Watson
  • 569
  • 1
  • 4
  • 7

2 Answers2

6

You mention that you've "seen TinkerPop" but I couldn't tell if that meant you've seen it, considered it and dismissed it as a solution here, so apologies if that is the case and I'm not answering your question.

I've successfully used PartitionStrategy (formerly PartitionGraph) from TinkerPop to achieve multi-tenancy in Neo4j (and other graph databases).

You can read more about the approach here in this blog post on the subject.

Hendy Irawan
  • 20,498
  • 11
  • 103
  • 114
stephen mallette
  • 45,298
  • 5
  • 67
  • 135
4

Neo4j does not support multi-tenant deployments at this time. You can run multiple instances on the same server, each one on a different port.

Alternatively, you can use a managed hosting service like GrapheneDB, which provides secure independent instances. Disclaimer: I work at GrapheneDB.

albertoperdomo
  • 1,941
  • 12
  • 14
  • Can you tell me more about the multi-tenant deployment and how it would work for multi-tenancy? – WJA Mar 15 '17 at 00:02