Read-only and read-write separation with Community Edition

Is it possible to create a form of read-only and read-write separation with Community Edition? Namely, I wish to allow read-only access to ‘the general public’, but allow myself read-write access.

Context: As part of a research project at an academic institution, I have created a graphical knowledge base for the wind farm domain (https://doi.org/10.5194/wes-5-259-2020). I have implemented it using Neo4j. It is currently hosted on a VPS at that institution. We used the Enterprise Edition of 3.0 with its AGPL license and created a cluster with one read-only and one read-write member. Access control was done using basic http authentication of a proxy through which the traffic was routed. (A complicated configuration for us, but once setup it has worked well.)

Current situation: Because the project I was working on has ended, I am not at the institution anymore and also the other person that could administrate the Neo4j installation has left. This means that at some point that installation will ‘die’. I want to preserve my work and keep it accessible to others (so I need read-only access). I also would like to be able to add and correct content as needed (hence the read-write access). I was planning to put it on a personal VPS.

Known options: Given the removal of the AGPL license option for the Enterprise Edition (for which I understand the rationale, BTW), I need to make do with the Community Edition. As far as I can tell, I could achieve my goal if I am willing to run two instances of the community edition, one with read-only and one with read-write access, and manually copy the data from the read-write one to the read-only one. Another option is to use a single instance that is in read-only mode most of the time, but put in read-write mode and behind a firewall whenever I want to edit. Both options are not very convenient. So I am wondering if there are better approaches.

From technical point of view the most easy option is to use Enterprise edition and create an additional read-only user.

Neo4j offers free licenses for small startups, see https://neo4j.com/startup-program. There's also an option for non-profit research/education available, for details please drop an email to licensing@neo4j.com.

1 Like