contact contact

A.06.20 Database Enhancements

  Eloquence A.06.20 / Release Notes
This document provides an overview on the database enhancements implemented with the Eloquence A.06.20 release.
  • Database performance improvements
  • Database server (eloqdb6) enhancements
  • Image enhancements
  • HP3000 compatibility

Database performance enhancements

The A.06.20 eloqdb6 database server uses an advanced disk access strategy which results in better performance. Depending on your disk speed the sync write mode should have improved substantially and should approach the previous async write performance. The async write performance has further improved.

On the UNIX platform, the eloqdb server uses I/O processes or kernel threads to allow overlapped I/O while serving other requests. This allows better concurrency instead of waiting for the disk drive to complete a request.
On the Windows NT platform, the eloqdb6 server makes use of the overlapped IO functionality provided by the NT operating system.

Please note: On the HP-UX and Linux platform, the eloqdb6 I/O processes or kernel threads are visible by ps. So instead of a single eloqdb6 you will have 5 eloqdb6 processes running by default. This is normal.

In addition to optimized disk access, serialization on the "Final Commit" and "Checkpoint" operations has been relaxed allowing additional concurrency.

Operation in sync mode is now default

Due to the improved performance, the sync write mode is now the default. The sync mode provides additional protection against operating system or hardware failure but imposes more demand on the disk subsystem.

When sync mode is disabled the eloqdb6 uses the faster async write strategy which performs fewer disk writes but could lead to a damaged database environment in case of a system failure. This mode should only be used on reliable hardware (uninterruptable power supply is essential) unless you can afford to recover from a backup in case of a system failure.

The database catalog now uses transactions to guarantee consistency

The database catalog (the database inside the database environment holding the database structure information) has been enhanced to use transactions. This provides better performance and additional reliability for operations which modify the database catalog (eg. schema, dbcreate).

Database server (eloqdb6) enhancements

The Eloquence database server (eloqdb6) provides additional functionality with the A.06.20 release. It provides enhanced configuration, a HTTP based performance monitor and support for on-line backup. A command line tool (dbctl) can be used to manage the eloqdb6 server from a script.

For more information, please refer to the Database server (eloqdb6) document.

Configuration enhancements

Additional server properties can be specified with the A.06.20 eloqdb6.
  • A server title can be specified (displayed by ps) to distinguish between multiple running eloqdb6 instances.
  • DNS lookup can now be disabled.
  • The server write mode is now specified in the server configuration file.
  • Access to the HTTP status display can be restricted.
  • Secondary blocking locks can now be enabled.
  • Some internal buffer limitations (VnodeCache, VbufElements) are now determined internally and need no longer be specified.
  • The number of IO threads can be specified (UNIX).

HTTP Performance monitor

A performance page has been added to the eloqdb6 HTTP status display which provides information about server load and disk activities. In addition, the statistics HTTP status page has been enhanced to include disk performance information.

On-line backup

The Eloquence A.06.20 database supports on-line backup. A backup can be made while the database is active. Clients can access and modify the database (at reduced performance).

For more information, please refer to the Database backup document.

dbstore / dbrestore

The dbstore / dbrestore functionality allows transfer of a single database from a database environment to a file or tape device. This makes it convenient to save a snapshot of a database or move a single database to another system.

The database is archived in a binary format including structural information (the database catalog). Since the database content is simply copied to the file, the dbstore/dbrestore operation is much faster than the record oriented dbexport/dbimport. The archive occupies the same amount of storage than the database.

For more information, please refer to the Database server (eloqdb6), Database on-line utilities and Database backup documents.

dbctl command line interface to eloqdb6

dbctl is a new tool which allows access to a running eloqdb6 process. It can be used to retrieve eloqdb6 status information (which could be used in a script) or to manage some aspects of the eloqdb6 process (eg. shut down the server or control the on-line backup).

For more information, please refer to the Database on-line utilities document.

Image enhancements

Max. number of data sets has been changed

The Eloquence schema processor and database utilities have been modified to support 199 data sets in a single data base instead of previously 99.

For more information, please refer to the Database on-line utilities document.


DBUPDATE has been enhanced to support a mode 2. In mode 2 changes to search items are allowed which would fail with status 41 in mode 1.

Update of search items (in mode 2) is allowed

  • for detail data set.
  • for a master data set which has no related detail entries.
This is similar to the (poor) practice of using a DBDELETE/DBPUT sequence on a DBUPDATE which failed with status 41. DBUPDATE mode 2 retains the same record number (and is slightly faster).

New Binary item type (B)

A new data type is supported by the Eloquence database. The type B (binary) is handled similar to the 'X' (char) item type but fields are filled with binary zero instead of spaces and no conversion is performed on client/server transaction.
Please note that this feature is currently considered experimental and is used to implement HP3000 compatibility.

For more information, please refer to the Database on-line utilities document.

Additional database status values

The following additional status values can be returned:
-807 - DBLOCK internal failure
If the tenth status element is -3, a thread blocked on a DBLOCK was canceled with dbctl.

-808 - Management API internal failure
A failure condition was detected by the management API. This should never happen.

-809 - internal image failure
A failure condition was detected by the IMAGE subsystem. This should never happen.

HP3000 compatibility

The A.06.20 release implements important enhancements to allow easier migration of HP3000 programs using TurboImage to the Eloquence database.

While close compatibility to the TurboImage API requires additional software (Eloquence TurboIMAGE compatibility extension) which is available separately, Eloquence A.06.20 provides additional functionality in the database kernel.

  • Schema supports the HP3000 schema syntax
  • HP3000 data types are accepted by schema and mapped to similar Eloquence data types.
  • Primary path can be specified
  • Sort items are supported
  • 16 character item/set names are accepted

For more information please refer to Eloquence TurboIMAGE compatibility extension (http://eloquence.marxmeier.com/sales/hp3k.html).

  Privacy | Webmaster | Terms of use | Impressum Revision:  2002-11-18  
  Copyright © 1995-2002 Marxmeier Software AG