You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jena.apache.org by Andy Seaborne <an...@seaborne.org> on 2017/01/03 16:49:03 UTC

TDB2 - releases now available.

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