Package com.db4o.config
Interface FreespaceConfiguration
-
- All Known Implementing Classes:
Config4Impl
public interface FreespaceConfiguration
interface to configure the freespace system to be used.
All methods should be called before opening database files. If db4o is instructed to exchange the system (useBTreeSystem()
,useRamSystem()
) this will happen on opening the database file.
By default the ram based system will be used.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Deprecated Methods Modifier and Type Method Description void
discardSmallerThan(int byteCount)
tuning feature: configures the minimum size of free space slots in the database file that are to be reused.void
freespaceFiller(FreespaceFiller freespaceFiller)
Configure a way to overwrite freed space in the database file with custom (for example: random) bytes.void
useBTreeSystem()
configures db4o to use a BTree-based freespace system.void
useIndexSystem()
Deprecated.Please use the BTree freespace system instead by callinguseBTreeSystem()
.void
useRamSystem()
configures db4o to use a RAM-based freespace system.
-
-
-
Method Detail
-
discardSmallerThan
void discardSmallerThan(int byteCount)
tuning feature: configures the minimum size of free space slots in the database file that are to be reused.
When objects are updated or deleted, the space previously occupied in the database file is marked as "free", so it can be reused. db4o maintains two lists in RAM, sorted by address and by size. Adjacent entries are merged. After a large number of updates or deletes have been executed, the lists can become large, causing RAM consumption and performance loss for maintenance. With this method you can specify an upper bound for the byte slot size to discard.
Pass Integer.MAX_VALUE to this method to discard all free slots for the best possible startup time.
The downside of setting this value: Database files will necessarily grow faster.
Default value:
0 all space is reused- Parameters:
byteCount
- Slots with this size or smaller will be lost.
-
freespaceFiller
void freespaceFiller(FreespaceFiller freespaceFiller)
Configure a way to overwrite freed space in the database file with custom (for example: random) bytes. Will slow down I/O operation. The value of this setting may be cached internally and can thus not be reliably set after an object container has been opened.- Parameters:
freespaceFiller
- The freespace overwriting callback to use
-
useBTreeSystem
void useBTreeSystem()
configures db4o to use a BTree-based freespace system.
Advantages
- ACID, no freespace is lost on abnormal system termination
- low memory consumption
Disadvantages
- slower than the RAM-based system, since freespace information is written during every commit
-
useIndexSystem
void useIndexSystem()
Deprecated.Please use the BTree freespace system instead by callinguseBTreeSystem()
.discontinued freespace system, only available before db4o 7.0.
-
useRamSystem
void useRamSystem()
configures db4o to use a RAM-based freespace system.
Advantages
- best performance
Disadvantages
- upon abnormal system termination all freespace is lost
- memory consumption
-
-