GraphDB-SE Entity Pool

Skip to end of metadata
Go to start of metadata
GraphDB Documentation
This documentation is NOT for the latest version of GraphDB.

Latest version - GraphDB 7.1

Next versions

GraphDB 6.5
GraphBD 6.6
GraphBD 7.0
GraphDB 7.1

Previous versions

GraphDB 6.3
GraphDB 6.2
GraphDB 6.0 & 6.1

OWLIM 5.4
OWLIM 5.3
OWLIM 5.2
OWLIM 5.1
OWLIM 5.0
OWLIM 4.4
OWLIM 4.3
OWLIM 4.2
OWLIM 4.1
OWLIM 4.0

The entity pool is a key component of the GraphDB storage layer. It converts the entities (URIs, Blank nodes and Literals) to internal IDs (32- or 40-bit integers). From version 6.2 this component supports transactional behavior, which improves space usage and cluster behavior.

Implementations

The transactional property of the entity pool fixes many issues related to creating IDs. However, entities still need to be pre-processed and all other commit operations should be performed (storing, inference, plugin handling, consistency checking, statement retraction on remove operations), including adding the entities to the permanent store. All these operations are time-consuming, so the new transactional entity pool cannot be faster than the classic one.

There are two implementations - a fully transactional and classic.

classic
  • the default implementation
  • recommended for large transactions and bulk loads
  • avoids the overhead of temporarily storing of the entities and the remapping from temporary to permanent IDs (which is performed in the transactional implementation)
  • when adding statements, the entities are directly added and cannot be rolled back
transactional-simple
  • all new entities are kept in memory - not recommended for large transactions (> 100M statements) to prevent OutOfMemoryErrors
  • good for large number of small transactions
  • recommended for cluster environment - ensures entity IDs consistency between worker nodes
  • should be used with Solr and Elascticsearch connectors.

Configuration

The entity pool implementation can be selected by the entity-pool-implementation config parameter or the -D command line parameter with the same name.

Parameter Value Note
entity-pool-implementation classic default
  transactional-simple
  transactional The recommended transactional implementation in the current version of GraphDB.
For 6.2 it is transactional-simple. May change in future versions
Labels:
None
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.