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 mode 2
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).
|