Hi Adrian,
you can use a MRSW locking approach with TDB and it's perfectly safe:
http://openjena.org/how-to/concurrency.html
http://openjena.org/wiki/TDB/JavaAPI#Concurrency
Look at the Fuseki sources and do the same:
http://svn.apache.org/repos/asf/incubator/jena/Jena2/Fuseki/trunk/src/main/java/org/openjena/fuseki/servlets/HttpAction.java
Or, use Fuseki (if that is an option for you).
Concurrency is implemented, but you need to have locks to avoid
multiple writers at the same time.
If you feel brave, you are welcome to give TxTDB a try.
If there were a FAQ on TDB, this question (with a proper answer) should
be there. In the meantime, we could improve the documentation here:
http://openjena.org/wiki/TDB/JavaAPI#Concurrency
Paolo
Adrián Quintana wrote:
Hi All,
We were thinking about using TDB because we have read the performance is
higher in our case. The problem is that we will have several users
inserting and querying through a webservice. We have read TDB does not
implement concurrency access although there is an issue already fixed
(https://issues.apache.org/jira/browse/JENA-41). It is said that it has
been released as a prototype. What does it mean? When aprox will it be
included in a stable release? If concurrency problem is solved...What
are the main differences between Fuseki and Joseki? Joseki is newer but
the features between them look pretty similar...
In case concurrency it is not implemented, I guess the best approach
would be to use SDB with a typical Relational-DB...Is it right?
Thank you so much. Best Regards,
Adrian