TDB2 is an upgrade of TDB. It provides fully scalable transactions, for
example, loading 100 millions triples into a live database which
continues to service queries.
Release builds are now available from maven central:
<dependency>
<groupId>org.seaborne.mantis</groupId>
<artifactId>tdb2</artifactId>
<version>0.2.0</version>
</dependency>
Development builds are also available via the Sonatype snapshot repository.
** TDB2 databases are not compatible with Apache Jena TDB (TDB1). **
This is not currently part of Apache Jena - it does not come with the
backing of the Apache Software Foundation.
The main reason is to have a faster release cycle while not disturbing
the stability of Jena.
== Converting from TDB1:
* Replace "TDBFactory" with "TDB2Factory".
* Change imports - there is a different "Location" class and
connectDataset is preferred over createDataset for disk areas.
* Use transactions - see Txn.
* Load the data.
TDB2 from Java:
https://github.com/afs/mantis/blob/master/use-tdb2.md
== Use with Fuseki
* Start with a clean Fuseki installation and copy the TDB2
"fuseki-tdb2-server-VER.jar" onto "fuseki-server.jar".
* Use a configuration file and "--conf" to start the server.
* Load the data.
TDB2 with Fuseki:
https://github.com/afs/mantis/blob/master/use-fuseki-tdb2.md
Codebase:
https://github.com/afs/mantis
Example:
Loading 100m of BSBM data into a live Fuseki (a single write transaction
while the server was able to answer queries at the same time) with a
default heap size:
SSD: 70K triples/s (about 24 minutes)
Disk: 47.5K triples/s (about 35 minutes)
== Technical Changes
A description and discussion of the code changes:
https://s.apache.org/YslO