0

I am trying to share same dataset between more than one Fuseki TDB2 containers. I have mounted same volume to all the container to make sure that it has access to same location and then started the container with same dataset name. However it did not work out. I get an exception in the container that dataset has been locked by another container. The following link tells that TDB2 can be used with shared dataset, any clue on how can I achieve this?

"If you wish to share a database between processes, or machines, consider using Fuseki2 with TDB2" https://jena.apache.org/documentation/tdb2/tdb2_admin.html

Rajib Deka
  • 551
  • 1
  • 7
  • 22

1 Answers1

2

TDB2 does not support access from two different JVMs at the same time, whether in one OS instance, one container or across several containers.

What the link says is that you run one Fuseki in front of the single database engine to provide remote connections to the database using SPARQL protocols, and specifically for Fuseki, interface RDFConnection has a binary mode for Fuseki.

You may be interested in RDF Delta which can provide a single database replicated across several machines/containers, each with their own copy of the database; changes are propagated between the copies.

AndyS
  • 16,345
  • 17
  • 21