One of Defrag.NSF's primary functions is file level defragmentation. This is because a Domino database typically represents a single file on disk.
One of the historical issues with file level defragmentation products is that they need a large enough freespace block on disk to move the file into. This can get a bit tricky when people have large (think 25GB+) mail files.
Defrag.NSF version 1, uses a number of different techniques to perform this relocation, including the ability to move to multiple freespace holes if a suitably large enough one did not exist. There is however a chance that even though there is plenty of freespace on a volume, it just may not be usable.
Let look at an example. In figure 1, there is plenty of freespace, and it consists of two very large contiguous sections. This is a great scenario.
In figure 2, we have the same amount of freespace, but from a classic file defragmentation point of view it is basically unusable for large database defrags. The freespace itself is fragmented.
So to help out with this exact situation, Defrag.NSF V2 is going to include two new features:
1) Freespace Consolidation - the ability to pull back all the freespace into a single chunk so it can be used, in effect, defragmenting the freespace
2) Smart File Defragmentation - the ability to intelligently defrag a file by strategic relocation of other nearby files, and allowing optimum usage of the freespace adjacent to the original file's current location.
Over the next two weeks I'll step you through how these features work as we prepare to release Defrag.NSF V2.