Q. I re-sized my Flows database to use a 'medium' instead of a 'large' database but I do not see where the SESSIONDB folder has gotten any smaller.

A. InterMapper Flows maintains a custom database of session information, kept in the SESSIONDB directory. It is optimized for speed of storage and retrieval of Netflow data, to ensure the best everyday performance. However, that optimization can become an obstacle to resizing the database.

IMFlows relies on a set of cascading indexes and meta-indexes to quickly retrieve and store sessions. These are derived and written to disk immediately upon selecting a new, larger database size in order to facilitate the needs of users who discover that they need a larger database than previously determined. As soon as this is done, Flows starts writing new sessions to available files in order to best make use of the available space for maximum performance.

Those users who discover that they have selected a database size too large for their current needs, however, run into the downside to this database design: the historical session data is spread across a large number of files. Flows can remove them through attrition once the database is full, but is unable to shrink the database directly all at once without losing database integrity. Users who wish to shrink a full database need only change the database size, and it will shrink over time. Users whose database is not yet full will need to wait until the (larger) size fills before Flows can start to shrink it -- otherwise random sessions may be lost and the fidelity of the database compromised.

Users in this situation who cannot wait, or who cannot allow the database to grow (such as for disk space concerns) are advised to stop the Flows service, delete the contents of the SESSIONDB folder, and start over with a new sessions database. We regret any inconvenience that this causes.