On 22/09/17 00:58, Dimov, Stefan wrote:
I’ve got two questions:
1. The documentation of Jena/TDB states that the replication of the DB
is possible, just by copying the TDB files. (I tried that, it’s
working.) It also states that the copying should be done ONLY while
the Fuseki server is stopped, even if there’s no writing in TDB
(just reading). Is that true? Is it not possible to replicate TDB
without stopping the nodes?
In practice, if there's no writing going on, then I've not had it fail
and seems like it should work, but not something we've used in
production. It would need someone more expert to say why it could be an
issue for a read-only workload.
One thing, make sure you delete the lock file (used to prevent multiple
jvm's reading the same file set).
2. We’re considering this architecture: Multiple virtual nodes running
separate instances of Fuseki and all of them using TDB, which is
residing on a shared file system
Note there's no attachments on this list so no embedded images.
Would it be possible? Are there going to be any concurrency issues? What
if there’s read operations only?
You can't have multiple TDB instances in different JVMs using the same
file set, TDB creates a lock file with the PID in, to prevent this.
In any case performance depends largely on disk speed so replicating the
data to each instance and using fast local storage is generally a better
plan than running off slower, shared network storage.
Dave