
The entity pool is a key component of the GraphDB storage layer. From version 6.2 it supports a transactional behavior, which improves space usage and cluster behavior.
Configuration
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.
classic
- the default implmentation
- apropriate for large transactions
- avoids the overhead.
- when adding statements, the entities are directly added and cannot be rolled back.
transactional-simple
- 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 |
Labels:
None