To reduce the impact that background operations involving the storage could have, it might be interesting to provide more control on transaction characteristic.
While JE offers several options which could help reduce this impact, this story is focused on providing facility to take advantages of:
- Durability.COMMIT_NO_SYNC: JE is able to reduce the Durability (D in ACID) on a transaction basis. This could help to reduce the I/O impact that write transaction done in background operations can have by not adding extra flush to disk operation.
- CacheMode.UNCHANGED: This option can be provided during Cursor creation. This cache mode is used when the application prefers that the operation should not perturb the cache, for example, when scanning over all records in a database.