VERSANT Developer Center



Versant Vorkout

versant-vorkout.gif

Versant Vorkout is an add-on module for the Versant Object Database. Vorkout is a Database Reorganizer Tool for applications that delete large numbers of objects.

It lets you reclaim unused space in your database while it is in normal operation, increasing available free space and improving database performance. Last but not least Vorkout is tightly integrated and can be used through Versant Vitness.

In a freshly populated database the objects are efficiently packed on disk, in storage units called pages. A compact database enjoys performance advantages caused by better allocation of data on disk. A compact database also utilizes its back end cache to the fullest extent because each page in cache contains the maximum possible number of objects.

Over time as objects grow or are deleted, empty holes are created in the tightly packed database resulting in fragmentation of data segments. Thus, performance starts degrading and disk usage is also increased.

Versant has addressed this issue by introducing Vorkout – the enhanced tool provides the user the ability to analyze a database for wasted space and reorganizes the data for reduced fragmentation and restored performance.

Analyzing a Database Using Vorkout

To help the database administrator to determine if a database needs a reorganization, Vorkout can perform a detailed analysis of the database and report the freespace and degree of fragmentation. The analysis component of Vorkout can determine the degree of fragmentation of data segments by inspecting every page in the database.

The analysis can be started by selecting the database in Vitness' Network Tree Pane and clicking the "Analyze Database" button in the Vitness toolbar. The data gathered by the analysis operation is used by the compact component of Vorkout:

Compacting a Database Using Vorkout

The Vorkout compact database tool is started from the Vitness console by selecting the database from the Network Tree Pane and clicking the "Compact Database" button in the Vitness toolbar.

A dialog allows the administrator to select the class(es) which should be compacted in the database. Only the objects of the selected class(es) will be compacted. If the administrator has run an analysis of the database beforehand the number of free bytes (i.e., the bytes lost to fragmentation) is displayed in the free bytes column.

vorkout_db_classes.gif

Once you have selected the classes you want to compact, the administrator can set the desired Batchsize from the list. The batchsize specifies the number of objects to be compacted in a given operational pass. This can be used to tune the memory requirements and execution speed of the Vorkout. The database and class currently being compacted is displayed as well as a progress bar showing the progress for the entire operation. The dialog can be closed to run the operation in the background. The progress will then be displayed in the Vitness Progress pane.

System Table De-fragmentation

The system table is a hash table that is used by the database server to lookup physical object locations within the database volumes given an objects LOID (logical object identifier) as the key. It is implemented using extensible hashing which is a form of dynamic hashing scheme. The LOID values are the keys for the hash
table. Due to the random nature of insertions and deletions into this hash table, the table gets fragmented over time and this leads to a large hash bucket directory as well as a large number of leaf pages containing very few or no key/data values. This fragmented table can lead to increased memory consumption, slower lookups,
and unnecessary space usage in the database.

vorkout_atables_threshold.gif

The administrator can select whether to perform the system table de-fragmentation by selecting the Compact System Tables option in the appropriate Vorkout dialog. The Thershold in % selector allows the administrator to determine the level of fragmentation in the system tables at which the de-framentation is run.
The tool may be run on an online database and there is minimum impact on clients.


Site Search



Forum Search




Contact

Technical Questions:
Message Boards

Purchase Inquiries:
Versant Object Database
FastObjects .NET

General Questions:
Quick Message Form

For postal adresses, phone numbers,  e-mail addresses, driving directions etc please refer to:

Contact Details Overview


VDC Member Login

You are not logged in.

Joining the VDC Member Area is the best way to get the best out of the Versant Developer Center!

Registered User Login

Create New User Profile

Why sign-up?


young_guys_205.jpg

Now Hiring! Seeking good staff that take action on good stuff!

In today's fast paced world you want to be part of a company that is on the leading edge of technology? Join Versant!

More...

vorkout_trailer_pic2.gif

Online Database Reorganization for the Versant Object Database

Versant Vorkout lets you reclaim unused space in your database while it is in normal operation, increasing free space and improving performance.

More...

promo_university_205.jpg

Versant and German University Team Up to Grant Scholarship

Database Company supports Masters students enrolling in Databases / Information Systems through 2-year Scholarship

Press Release