GraphDB-SE Entity Pool

Skip to end of metadata
Go to start of metadata
You are viewing an old version of this page. View the current version. Compare with Current  |   View Page History

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.


The transactional property of the entity pool fixes many issues related to creating IDs. However, entities still need to pre-process and all other commit operations whould be performed, 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.

  • the default implmentation
  • apropriate for large transactions
  • avoids the overhead.
  • when adding statements, the entities are directly added and cannot be rolled back.
  • all entities are kept in memory - not recomended for large transactions (> 100M statements) to prevent OutOfMemoryErrors
  • good for large number of small transactions
  • mandatory in cluster environment - ensures entity IDs consistency

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 Description
entity-pool-implementation transactional-simple all entities are kept in memory
  classic (default) for bulk loads
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.