db4o 7.4

com.db4o.config
Interface FreespaceConfiguration


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 ( useIndexSystem() , useRamSystem() ) this will happen on opening the database file.

By default the index-based system will be used.


Method Summary
 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 calling useBTreeSystem().
 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 calling useBTreeSystem().

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


db4o 7.4

Copyright 2007 db4objects Inc. All rights reserved.