[Search for users]
[Overall Top Noters]
[List of all Conferences]
[Download this site]
Title: | DEC Rdb against the World |
|
Moderator: | HERON::GODFRIND |
|
Created: | Fri Jun 12 1987 |
Last Modified: | Thu Feb 23 1995 |
Last Successful Update: | Fri Jun 06 1997 |
Number of topics: | 1348 |
Total number of notes: | 5438 |
377.0. ""major features of Rdb" sales support document" by SNOC02::ANDERSONK (The Unbearable Lightness of Being) Tue Jun 27 1989 15:11
What follows is SDML source (VAX DOCUMENT) that describes features of
Rdb/VMS. I pulled together some pieces from this and other notes
files and from reading manuals to make this up. It is intended to
be a document that highlights major features of Rdb/VMS briefly
with references to supporting manuals. This seems to be a useful
thing to do in a sales support situation.
I was processing it as a REPORT under DOCUMENT.
I welcome comments, corrections etc..
Regards, Keith Anderson
PS: This document was not sponsored by DBS. This document has not
been officially checked or approved. I hope that maybe one day soon
I will find out how to get that done. ceveat empor (spelling?) :-)
<FRONT_MATTER>(Front-matter)
<TITLE_PAGE>
<TITLE>(Major Features of Rdb/VMS)
<ABSTRACT>(April 24th, 1989)
This document is intended as a reference to introduce significant features of
DIGITAL's relational database management system VAX Rdb/VMS and the
DIGITAL Standard Relational Interface software architecture.
<ENDABSTRACT>
<AUTHOR>(<EMPHASIS>(Keith Anderson\ITALIC)\
<EMPHASIS>(Canberra Software Services\ITALIC)\
<EMPHASIS>(Digital Equipment Corporation (Australia)\ITALIC))
<p>
<ENDTITLE_PAGE>
<COPYRIGHT_PAGE>
<PRINT_DATE>(April, 1989)
<COPYRIGHT_DATE>(April, 1989)
<ENDCOPYRIGHT_PAGE>
<CONTENTS_FILE>
<PREFACE>(-5)
<HEAD1>(Structure of the Document)
The document is divided into two main parts:
<LIST>(UNNUMBERED)
<LE>Introduction and executive summary.
<LE>Detailed chapter on Rdb/VMS database management system, that provides
information, and pointers to documentation, relevant to each selection criteria.
<ENDLIST>
<HEAD1>(Related Manuals\RelatedManuals)
This document refers to a number of manuals on Digital products, especially
the following:
<LIST>(UNNUMBERED)
<LE><EMPHASIS>(<REFERENCE>(RdbIntro))
<LE><EMPHASIS>(<REFERENCE>(RdbGuideDesign))
<LE><EMPHASIS>(<REFERENCE>(GuideMaintPerf))
<LE><EMPHASIS>(<REFERENCE>(RdbGuideProg))
<LE><EMPHASIS>(<REFERENCE>(RdbGuideManip))
<LE><EMPHASIS>(<REFERENCE>(RdbRefManual))
<LE><EMPHASIS>(<REFERENCE>(SQLRefManual))
<LE><EMPHASIS>(<REFERENCE>(SQLUserGuide))
<LE><EMPHASIS>(<REFERENCE>(RDMLRefManual))
<LE><EMPHASIS>(<REFERENCE>(CDDRefManual))
<LE><EMPHASIS>(<REFERENCE>(CDDUsersGuide))
<LE><EMPHASIS>(<REFERENCE>(RallyIntro))
<LE><EMPHASIS>(<REFERENCE>(RallyRefManual))
<ENDLIST>
<p>
The following books provide related information:
<LIST>(UNNUMBERED)
<LE><EMPHASIS>(<REFERENCE>(VAXInfo_Summary))
<LE><EMPHASIS>(<REFERENCE>(VAXsetBook))
<LE><EMPHASIS>(Introduction to Database Development)
<ENDLIST>
<ENDPREFACE>
<ENDFRONT_MATTER>
<DEFINE_SYMBOL>(VAXInfo_Summary\VAX Information Architecture Summary Description)
<DEFINE_SYMBOL>(GuideMaintPerf\VAX Rdb/VMS Guide to Database
Maintenance and Performance)
<DEFINE_SYMBOL>(RdbGuideDesign\VAX Rdb/VMS Guide to Database Design and
Definition)
<DEFINE_SYMBOL>(RdbRefManual\VAX Rdb/VMS Reference Manual)
<DEFINE_SYMBOL>(SQLRefManual\VAX SQL Reference Manual)
<DEFINE_SYMBOL>(SQLUserGuide\VAX SQL User's Guide)
<DEFINE_SYMBOL>(RdbGuideManip\VAX Rdb/VMS Guide to Data Manipulation)
<DEFINE_SYMBOL>(RdbGuideProg\VAX Rdb/VMS Guide to Programming)
<DEFINE_SYMBOL>(RdbIntro\VAX Rdb/VMS Introduction and Master Index)
<DEFINE_SYMBOL>(RDMLRefManual\VAX Rdb/VMS RDML Reference Manual)
<DEFINE_SYMBOL>(CDDRefManual\VAX CDD/Plus Common Dictionary Operator Reference
Manual)
<DEFINE_SYMBOL>(CDDUsersGuide\VAX CDD/Plus User's Guide)
<DEFINE_SYMBOL>(RallyIntro\Introduction to VAX RALLY)
<DEFINE_SYMBOL>(RallyRefManual\VAX RALLY Reference Manual and Master Index)
<DEFINE_SYMBOL>(RdbSPD\Software Product Description for VAX Rdb/VMS
Version 3.0 (SPD 25.59.08))
<DEFINE_SYMBOL>(DTRSPD\Software Product Description for VAX Datatrieve
Version 4.2 (SPD 25.44.20))
<DEFINE_SYMBOL>(RallySPD\Software Product Description for VAX RALLY
Version 2.0 (SPD 27.03.02))
<DEFINE_SYMBOL>(TeamdataSPD\Software Product Description for VAX TEAMDATA
Version 1.3 (SPD 27.02.03))
<DEFINE_SYMBOL>(XwaySPD\Software Product Description for VAX Xway
Version 1.1 (SPD 27.36.02))
<DEFINE_SYMBOL>(Allin1SPD\Software Product Description for VAX ALL-IN-1
Version 2.2 (SPD 27.30.02))
<DEFINE_SYMBOL>(CDDSPD\Software Product Description for VAX CDD/Plus,
Version 4.0 (SPD 25.53.16))
<DEFINE_SYMBOL>(VAXsetBook\A Methodology for Software Development Using VMS
Tools)
<CHAPTER>(Choosing a Software Architecture\Choosing_Architecture)
<HEAD1>(Executive Overview)
<P>
DIGITAL believes it has the architectures and products to support the business
needs of many customers now and into the future.
<p>
DIGITAL believes in the importance of architectures and standards to develop
and maintain applications environments, in both software and hardware.
Architectures and standards provide a stable, consistent platform for software
and hardware evolution. They also provide optimum growth paths for the future,
integration, consistency, and permit the growth of performance and
functionality.
<p>
DIGITAL recommends the following architectures for special consideration:
<LIST>(UNNUMBERED)
<LE>DIGITAL Standard Relational Architecture (DSRI) and Rdb/VMS
<p>
<EMPHASIS>(These provide a solid foundation for data management, well
integrated with development and management tools, with open interfaces for
4GL and other tools.\ITALIC)
<LE>VAX Information Architecture (VAX)
<p>
<EMPHASIS>(This architecture describes a well-integrated product set based
on an active data dictionary that
addresses the needs of commercial information management.\ITALIC)
<LE>DECtp Architecture for distributed commercial transaction processing
<p>
<EMPHASIS>(This new architecture describes DIGITAL's intentions in the
OLTP environment.\ITALIC)
<LE>DECwindows and X-Windows
<p>
<EMPHASIS>(These new architectures describe functionality on the desktop
that integrate applications using a very powerful user interface based on
the windows way of working.\ITALIC)
<LE>Compound Document Architecture
<p>
<EMPHASIS>(This new architecture describes the operation of shared active
documents in a distributed environment, including DECwindows.\ITALIC)
<LE>DIGITAL Network Architecture and DECnet Phase V (including DECnet/OSI)
<p>
<EMPHASIS>(This architecture describes DIGITAL's intentions in the
networking environment.\ITALIC)
<ENDLIST>
<p>
<HEAD1>(Recommendations)
<P>
The following phased approach is useful for evaluating DIGITAL's solutions:
<LIST>(NUMBERED)
<LE>Business Needs Analysis
<P>
The needs should be
written down in a well defined manner and used to achieve mutual
concurrance on goals and objectives, both internally and externally.
<le>Applications Architecture
<P>
In a phased approach, a general applications architecture must first be
constructed to match the needs analysis. This architecture can be used to rank
requirements.
<LE>Strategic Product Sets
<p>
Often an architecture review will show that one or two software and/or
hardware product sets are critical to the success of the architectures. In the
DIGITAL VAX/VMS applications environment, the strategic product sets are:
<LIST>(UNNUMBERED)
<LE>the database management product set known as Rdb/VMS (it has several
utilities and products bundled, and is a core component of the VAX Information
Architecture),
<LE>the active data dictionary CDD/Plus (the other core component of VAX
Information Archiecture with Rdb/VMS),
<LE>the new DECwindows workstations software and hardware products, provides a
revolutionary way of integrating applications on the desktop,
<le>DECnet networking product set, such as Distributed Name Services.
<ENDLIST>
<p>
Many current DIGITAL (and third-party) software products are already based on,
or will add interfaces to, these products. New products will typically have
interfaces with one or more of these strategic products. Computer Assisted
Software Engineering products, DECtp products, end-user tools, data analysis
and management tools are all increasingly layered on these strategic products.
<p>
These strategic products would be evaluated prior to further detailed analysis
of products.
<LE>General, Specific Application and Product Review
<p>
Evaluate what products, packages and applications software exists to solve
general and specific applications needs. This evaluation is best performed
when a satisfactory understanding has been reached of the core strategic
products.
<ENDLIST>
<NOTE>(Document Content)
The rest of this document:
<LIST>(UNNUMBERED)
<LE>Describes the prototype application.
<LE>Suggests selection criteria for choosing applications architectures and
database architectures.
<LE>In summary format, describes the characteristics of DIGITAL's offerings in
terms of the database selection criteria and provides detailed references for
further reading. The database was chosen as being the most strategic product
for evaluation at this stage of the applications evaluation.
<ENDLIST>
<ENDNOTE>
<CHAPTER>(RDBMS Selection Criteria\Rdb_CRITERIA)
<comment>
<RUNNING_TITLE>(<emphasis>(RDBMS Selection Criteria))
<endcomment>
Choosing a database management system can be a complex task. DIGITAL feels
that VAX Rdb/VMS is the best relational database management system available
for the VAX/VMS environment.
<p>
<HEAD1>(Summary of Selection Criteria)
<P>
The following criteria are most commonly applied when choosing a relational
database management system (RDBMS). The list is not ranked by any order of
importance as the importance varies from application to application:
<LIST>(UNNUMBERED)
<le>Architected
<LE>Performance
<LE>High Availability
<le>Ease of Management
<LE>Ease of Use
<LE>Data Integrity
<LE>Functionality
<LE>3GL Integration
<LE>4GL Integration
<LE>Integration and Support of Environment
<LE>Operating System Integration
<LE>Hardware Integration
<LE>Networking Integration
<LE>Cost
<LE>Vendor Support
<LE>Documentation
<LE>Training
<LE>Standards
<le>Open Interfaces
<le>Third-Party Applications and Packages
<le>Marketplace Acceptance
<le>Distributable
<ENDLIST>
The rest of this chapter will address some of these issues with DIGITAL's
Rdb/VMS and DSRI in mind.
<HEAD1>(Introduction to Rdb/VMS and DSRI)
<P>
VAX Rdb/VMS is a full-function relational database
management system designed for the VMS
Operating System. It is intended for general purpose,
multi-user, centralized or distributed applications.
<P>
VAX Rdb/VMS supports a complete set of utilities
and precompilers that enable users to maintain
and manipulate databases. VAX Rdb/VMS includes a
VAX SQL component, Digital's implementation of the
Structured Query Language, an ANSI standard interface
to relational database products.
<P>
VAX Rdb/VMS implements the DIGITAL Standard Relational
Interface (DSRI). DSRI is an architecture for
relational database management systems, as well as
a standard calling mechanism that can be used for
DSRI database creation and population. DSRI allows
applications running on any VAX or MicroVAX node in
a DECnet network to access all other DSRI-compliant
databases in the network.
<HEAD1>(Availability)
<p>
Availability of a DBMS is usually restricted by the
functionality of backups, implementation of definition
changes, need for file or data restructuring, and some DBMS's
are restricted by their degree of fault-tolerance. VAX
Rdb/VMS has few restrictions and provides a high availability
RDBMS.
<HEAD2>(High Availability)
<HEAD3>(Online Backups)
<p>
<EMPHASIS>(Rdb/VMS has online backup, based upon the structure of an
Rdb database for greater speed, which permits the database to be
backed up while in use. Rdb/VMS also has online incremental
backup, which increases backup speed and ease of maintenance by
reducing the amount of data that needs to be backed-up.\BOLD)
This functionality is often not available in older database
management systems.
Refer to
Section 5.2 "Backing Up a Database", and subsections, in the
<emphasis>(<reference>(GuideMaintPerf)).
<p>
<EMPHASIS>(Digital's Rdb/VMS can provide the fastest and most reliable
backup capabilities of any database system on the VAX.\BOLD)
Multiple areas can be backed-up at the same time,
concurrently streaming three tape drives. Refer to Section 5.2.6.2
"Using Multiple Tape Drives" in the
<emphasis>(<reference>(GuideMaintPerf)).
<HEAD3>(VAXcluster and Network Wide Automatic Recovery)
<p> Rdb has had fault-tolerance in a VAXcluster environment since 1985, so
that it can survive if a CPU goes off-line and automatically handles
recovery and rollback, and also if a HSC node fails.
<p> Refer to Section
15.8 "The Automatic Recovery Procedure" in the
<emphasis>(<reference>(GuideMaintPerf)), and the
<emphasis>(<reference>(RdbSPD)).
<HEAD3>(Automatic Housekeeping\AutomaticDBA)
<p>
The following activities are automatically performed by the database
online, whilst users are active:
<LIST>(UNNUMBERED)
<LE>Re-use of freed space in database storage area files and snapshot files
<LE>Creation, extension and/or deletion of a users Recovery-Unit Journal
file as required
<LE>Extension of any storage area files, as required
<LE>Extension of After-Image Journal file, as required
<LE>Recovery of any aborted transactions
<LE>Changing locking granularity of a user, as required
<LE>Deadlock detection
<LE>Updating approximate cardinality of relations and indices, as
appropriate
<LE>Grouping of Commits and After-Image Journal data for efficiency
<ENDLIST>
<HEAD3>(Online DBA Activities\ONLINE_section)
<p>
The following activities can be performed online, whilst users are active,
and can be done either interactively or in batch:
<LIST>(UNNUMBERED)
<LE>Online backup of database, either full backup or incremental, using
the RMU utility.
<X>(Online>backups>database)
<LE>Online spooling of After-Image Journal file (i.e. truncate and backup
contents of After-Image Journal file), using the RMU utility or RDO SPOOL
command.
<X>(Online>backups>After-Image Journal)
<LE>Monitoring and recording performance statistics, using the RMU
utility, either interactively or in batch. Display is usually only done
interactively.
<X>(Online>statistics)
<LE>Dump of any database area (eg header, indices, data areas), using RMU.
<X>(Online>dump)
<LE>Change OPEN MODE of database, using RDO CHANGE DATABASE or SQL ALTER
SCHEMA command (see <REFERENCE>(Changing_DB_Chars\FULL) for pointers to
documentation).
<LE>Start a RMU /VERIFY check of database integrity (will wait for
EXCLUSIVE and BATCH_UPDATE transactions to complete).
<ENDLIST>
<HEAD3>(Changing Database Characteristics Online)
<p>
All of the following DBA activities can be performed using interactive
utilities (either RMU, and/or Interactive RDO and/or Interactive SQL).
<X>(Online>Changing characteristics\ITALIC)
<p>
Refer to:
<LIST>(UNNUMBERED)
<LE>Section 7.1 "Changing Database Characteristics"
<LE>Section 7.2 "Adding New Storage Areas"
<LE>Section 7.3 "Changing and Deleting Storage Areas"
<LE>Section 7.4 "Changing and Deleting Storage Indexes"
<LE>Section 7.5 "Changing and Deleting Storage Maps"
<ENDLIST>
in the <emphasis>(<reference>(GuideMaintPerf)).
<HEAD4>(Changes With Active Users)
<p>
The following sub-sections describe the various changes that can be made
online while users are active on the database.
<HEAD5>(Global Fields (Domains))
<P>
Global field definitions (domain definitions) can be defined, changed or
deleted using RDO or SQL statements, within a READ_WRITE
transaction on the relevant database (other users can be attached).
Changes can be made through Interactive RDO, Callable RDO, Interactive
SQL, precompiled SQL, a procedure in a SQL Module, or through Dynamic SQL.
Refer to:
<LIST>(UNNUMBERED)
<LE>The following sections in the
<EMPHASIS>(<REFERENCE>(RdbRefManual)\ITALIC) :
<LIST>(UNNUMBERED\-)
<LE>Section 6.4 "CHANGE FIELD Statement"
<LE>Section 6.16 "DEFINE FIELD Statement"
<LE>Section 6.26 "DELETE FIELD Statement"
<ENDLIST>
<LE>The following sections in the
<EMPHASIS>(<REFERENCE>(SQLRefManual)\ITALIC) :
<LIST>(UNNUMBERED\-)
<LE>Section 4.1 "ALTER DOMAIN Statement"
<LE>Section 4.10 "CREATE DOMAIN Statement"
<LE>Section 4.25 "DROP DOMAIN Statement"
<ENDLIST>
<ENDLIST>
<HEAD5>(Relations (Tables))
<P>
Relation definitions (table definitions) can be defined, or changed
using RDO or SQL statements, within a READ_WRITE
transaction on the relevant database (other users can be attached).
Definitions and changes can be made through Interactive RDO, Callable RDO,
Interactive SQL, precompiled SQL, a procedure in a SQL Module, or through
Dynamic SQL. Refer to:
<LIST>(UNNUMBERED)
<LE>The following sections in the
<EMPHASIS>(<REFERENCE>(RdbRefManual)\ITALIC) :
<LIST>(UNNUMBERED\-)
<LE>Section 6.7 "CHANGE RELATION Statement"
<LE>Section 6.19 "DEFINE RELATION Statement"
<ENDLIST>
<LE>The following sections in the
<EMPHASIS>(<REFERENCE>(SQLRefManual)\ITALIC) :
<LIST>(UNNUMBERED\-)
<LE>Section 4.5 "ALTER TABLE Statement"
<LE>Section 4.15 "CREATE TABLE Statement"
<ENDLIST>
<ENDLIST>
<HEAD5>(Protections)
<P>
Access Control List definitions can be defined, changed or
deleted using RDO or SQL statements, within a READ_WRITE
transaction on the relevant database (other users can be attached).
Changes can be made through Interactive RDO or Callable RDO.
Interactive SQL, precompiled SQL, a procedure in a SQL Module, or through
Dynamic SQL. Refer to:
<LIST>(UNNUMBERED)
<LE>The following sections in the
<EMPHASIS>(<REFERENCE>(RdbRefManual)\ITALIC) :
<LIST>(UNNUMBERED\-)
<LE>Section 6.6 "CHANGE PROTECTION Statement"
<LE>Section 6.16 "DEFINE PROTECTION Statement"
<LE>Section 6.26 "DELETE PROTECTION Statement"
<ENDLIST>
<LE>The following sections in the
<EMPHASIS>(<REFERENCE>(SQLRefManual)\ITALIC) :
<LIST>(UNNUMBERED\-)
<LE>Section 4.41 "GRANT Statement"
<LE>Section 4.51 "REVOKE Statement"
<ENDLIST>
<ENDLIST>
<HEAD5>(Constraints)
<P>
Constraint definitions can be defined or
deleted using RDO or SQL statements, within a READ_WRITE
transaction on the relevant database (other users can be attached).
Changes can be made through Interactive RDO or Callable RDO,
Interactive SQL, precompiled SQL, a procedure in a SQL Module, or through
Dynamic SQL. Refer to:
<LIST>(UNNUMBERED)
<LE>The following sections in the
<EMPHASIS>(<REFERENCE>(RdbRefManual)\ITALIC) :
<LIST>(UNNUMBERED\-)
<LE>Section 6.14 "DEFINE CONSTRAINT Statement"
<LE>Section 6.24 "DELETE CONSTRAINT Statement"
<ENDLIST>
<LE>The following sections in the
<EMPHASIS>(<REFERENCE>(SQLRefManual)\ITALIC) :
<LIST>(UNNUMBERED\-)
<LE>Section 4.5 "ALTER TABLE Statement"
<LE>Section 4.15 "CREATE TABLE Statement"
<ENDLIST>
<ENDLIST>
<HEAD4>(Changes With No Database Users)
<p>
The following sub-sections describe the various changes that can only be
made online while no users are active on the database. Some require the
DBA to be the only user of the database, while for others even the DBA
must not have invoked the database.
<HEAD5>(Deleting Relations (Tables))
<P>
Relation definitions (table definitions) can be deleted
using RDO or SQL statements, within a READ_WRITE
transaction on the relevant database with NO other active users attached.
Deletes can be made through Interactive RDO, Callable RDO, Interactive
SQL, precompiled SQL, a procedure in a SQL Module, or through Dynamic SQL.
Refer to:
<LIST>(UNNUMBERED)
<LE>Section 6.30 "DELETE RELATION Statement" in the
<EMPHASIS>(<REFERENCE>(RdbRefManual)\ITALIC).
<LE>Section 4.30 "DROP TABLE Statement" in the
<EMPHASIS>(<REFERENCE>(SQLRefManual)\ITALIC).
<ENDLIST>
<HEAD5>(Indexes)
<P>
Index definitions can be defined, changed, or
deleted using RDO or SQL statements, within a READ_WRITE
transaction on the relevant database, only with NO active users.
Defines, changes and deletes can be made through Interactive RDO, Callable
RDO, Interactive SQL, precompiled SQL, a procedure in a SQL Module, or
through Dynamic SQL. Refer to:
<LIST>(UNNUMBERED)
<LE>The following sections in the
<EMPHASIS>(<REFERENCE>(RdbRefManual)\ITALIC) :
<LIST>(UNNUMBERED\-)
<LE>Section 6.5 "CHANGE INDEX Statement"
<LE>Section 6.16 "DEFINE INDEX Statement"
<LE>Section 6.27 "DELETE INDEX Statement"
<ENDLIST>
<LE>The following sections in the
<EMPHASIS>(<REFERENCE>(SQLRefManual)\ITALIC) :
<LIST>(UNNUMBERED\-)
<LE>Section 4.2 "ALTER INDEX Statement"
<LE>Section 4.11 "CREATE INDEX Statement"
<LE>Section 4.26 "DROP INDEX Statement"
<ENDLIST>
<ENDLIST>
<HEAD5>(Storage Maps)
<P>
Storage Map definitions can be defined, changed, or
deleted using RDO or SQL statements, within a READ_WRITE
transaction on the relevant database with no other users attached.
Changes can be made through Interactive RDO, Callable RDO, Interactive
SQL, precompiled SQL, a procedure in a SQL Module, or through Dynamic SQL.
Refer to:
<LIST>(UNNUMBERED)
<LE>The following sections in the
<EMPHASIS>(<REFERENCE>(RdbRefManual)\ITALIC) :
<LIST>(UNNUMBERED\-)
<LE>Section 6.8 "CHANGE STORAGE MAP Statement"
<LE>Section 6.21 "DEFINE STORAGE MAP Statement"
<LE>Section 6.32 "DELETE STORAGE MAP Statement"
<ENDLIST>
<LE>The following sections in the
<EMPHASIS>(<REFERENCE>(SQLRefManual)\ITALIC) :
<LIST>(UNNUMBERED\-)
<LE>Section 4.4 "ALTER STORAGE MAP Statement"
<LE>Section 4.14 "CREATE STORAGE MAP Statement"
<LE>Section 4.29 "DROP STORAGE MAP Statement"
<ENDLIST>
<ENDLIST>
<HEAD5>(Major Database Characteristics\Changing_DB_Chars)
<p>
No users can attach to the database when a RDO CHANGE DATABASE (or SQL
ALTER SCHEMA) command is issued, and the DBA also cannot have the database
invoked, with the exception of the OPEN IS MANUAL or OPEN IS AUTOMATIC
options. The following activities are performed by RDO CHANGE DATABASE
(and/or SQL ALTER SCHEMA) commands:
<LIST>(UNNUMBERED)
<LE>Change maximum number of database users
<LE>Change maximum number of VAXcluster nodes that can access the database
<LE>Change space allocation characteristics such as extension values of
the database. <EMPHASIS>(Note that the database can dynamically extend as
required, but the default value of the size to extend by can be altered by
the DBA.\ITALIC)
<LE>Changing database locking characteristics (whether or not automatic
locking granularity is enabled or disabled)
<LE>Changing default number of database buffers per user
<LE>Changing default number of database recovery buffers
<LE>Changing after-image journalling (disable, or enable and/or change
file being used)
<LE>Changing usage of snapshots (enabled, disabled and if enabled whether
immediate or deferred)
<LE>Changing allocation characteristics for After-Image Journal file
<LE>Changing allocation characteristics for a Snapshot File
<LE>Changing the requirement for a dictionary to be used when metadata
changed
<LE>Adding new storage areas
<LE>Changing storage areas
<LE>Deleting storage areas
<ENDLIST>
Changes can be made through Interactive RDO, Callable RDO, Interactive
SQL, precompiled SQL, a procedure in a SQL Module, or through Dynamic SQL.
Refer to Section 6.3 "CHANGE DATABASE
Statement" in the <EMPHASIS>(<REFERENCE>(RdbRefManual)\ITALIC), and
Section 4.3 "ALTER SCHEMA Statement" in the
<EMPHASIS>(<REFERENCE>(SQLRefManual)\ITALIC).
<HEAD3>(Changes by DBA Requiring Reload)
<p>
The following changes require the database to be closed down, unloaded
with EXPORT and reloaded with IMPORT :
<LIST>(UNNUMBERED)
<LE>Changing buffer size
<LE>Changing number of users on a single-file database (unload and reload not
required for multi-file database)
<LE>Changing number of VAXcluster nodes for a single-file database (unload and
reload not required for multi-file database)
<ENDLIST>
<p>
Refer to Section 7.6 "Applications That Use the EXPORT and IMPORT
Statements" in the <emphasis>(<reference>(GuideMaintPerf)).
<HEAD2>(Quick and Automatic Recovery)
<P>
<EMPHASIS>(Rdb will automatically detect abnormal termination of users
transactions, and will initiate recovery and rollback without causing
any data inconsistency.\BOLD) Refer to Section 6.1 "Journalling and Recovery
for Update Transactions", and Section 6.4 "The Recovery-Unit Journal
File", under Chapter 6 "Journalling and Recovery" in the
<emphasis>(<reference>(GuideMaintPerf)).
<p>
In a VAXcluster environment, Rdb will automatically coordinate
recovery even if the node which commenced the original transaction is
no longer present. There is no loss of recovery or integrity
capability in a VAXcluster. <EMPHASIS>(Rdb/VMS provides superior data
integrity and recovery capability in the VAX/VMS environment.\BOLD)
Refer to Section 15.8 "The Automatic Recovery Procedure" in the
<emphasis>(<reference>(GuideMaintPerf)).
<HEAD2>(Data Integrity)
<P>
Database integrity has been the primary goal of Rdb/VMS since
inception. Automatic detection and recovery/rollback of incomplete
transactions through user based recovery-unit journalling, after-image
journalling and use of the distributed lock manager means that Rdb
maintains optimum integrity in all VAX/VMS environments, including
single or multiple CPU nodes, CI VAXclusters, Local Area VAXclusters,
mixed VAXclusters, and under DECnet distributed environments.
Each database page contains a checksum, which is checked by Rdb and
recalculated after each update. As Rdb is integrated into Digital's
file system, bad disk blocks are handled by the file system.
<p>
References:
<LIST>(UNNUMBERED)
<LE>Database corruption is discussed in the
<emphasis>(<reference>(GuideMaintPerf)) under:
<LIST>(UNNUMBERED\-)
<LE>Section 5.4.1 "Example of Database Corruption"
<LE>Section 5.4.2 "Causes of Database Corruption"
<ENDLIST>
<LE>Also refer to Chapters 6 "Journalling and Recovery" and 15 "Using
Rdb/VMS in a VAXcluster Environment", in the same manual for
information on integrity.
<LE>Also refer to the <emphasis>(<reference>(RdbSPD)).
<ENDLIST>
<HEAD2>(DBA Facilities)
<P>
RMU has /VERIFY, /DUMP and /ANALYZE
functions for integrity checking and database analysis.
<p>
Verifying a database is discussed under Section 5.4 of the
<emphasis>(<reference>(GuideMaintPerf)). Also refer to Chapters 6 and
15 in the same manual for information on integrity.
<p> The Rdb/VMS RMU utility, which is a standard component of Rdb/VMS,
provides a SHOW STATISTICS function which is commonly used to analyse
database performance. For more introductory information on DBA facilities
for evaluating performance and database behaviour, refer to Section 10.2
"Utilities and Tools to Evaluate Performance" in the
<emphasis>(<reference>(GuideMaintPerf)).
<p> Deadlocks are detected by and broken by Rdb/VMS (through its use of
the VMS Distributed Lock Manager), and information on deadlocks and other
lock statistics can be viewed and recorded through the RMU utility's SHOW
STATISTICS displays. Refer to Chapter 16 "Using Database Statistics" in
the <emphasis>(<reference>(GuideMaintPerf)), and in particular Sections:
<LIST>(UNNUMBERED)
<LE>12.7.7 "Summary Locking Statistics"
<LE>12.7.16 "Lock Statistics for One Lock Type"
<LE>12.7.17 "Lock Statistics for One Statistics Field"
<ENDLIST>
<p>
Also refer to the <emphasis>(<reference>(RdbSPD)).
<p>
<HEAD1>(Functionality)
<HEAD2>(Support of VAXclusters and Networks\DSRIDistributed)
<P>
Users under VMS on a given node in a DECnet network can access DSRI
databases (including VAX Rdb/VMS databases) on the same node, and/or
other nodes in the network.
<p>
Installation of the VAX Data Distributor optional layered product with
Rdb/VMS provides:
<LIST>(UNNUMBERED)
<LE>Extraction of entire databases or parts of them, into target
databases on remote systems
<LE>Extraction rollup, with the additional capability of extracting
relations and fields from multiple source databases into a single, new
target database
<LE>Store and forward replication. Once a target database has been
created, updates to the source database are forwarded to the target
database(s) at scheduled intervals or on demand.
<ENDLIST>
<P>
VAX Rdb/VMS, VAX CDD, and most other Digital products, are fully
supported when installed on any valid and licensed VAXcluster
configuration without functionality restrictions, as per
the <emphasis>(<reference>(RdbSPD)) and the matching System
Support Addendum, and also the <emphasis>(VAXcluster Software Product
Description (29.78.xx)).
<HEAD2>(Support for Domain Integrity)
<P>
Domain integrity is implemented via the VALID IF construct. Values must
satisfy the VALID IF rule, which can include a test for MISSING or NOT
MISSING. Refer to:
<LIST>(UNNUMBERED)
<LE>Section 13.11 "Database Integrity Considerations" in the
<emphasis>(<reference>(GuideMaintPerf)).
<LE>Section 5.2 "Validity Clause" in the
<emphasis>(<reference>(RdbRefManual)).
<LE>Section 3.5.2.1 "VALID IF Clause" in the
<emphasis>(<reference>(RdbGuideDesign)).
<LE>Section 6.16 "DEFINE FIELD Statement" in the
<emphasis>(<reference>(RdbRefManual)).
<ENDLIST>
<HEAD2>(Support for Referential Integrity)
<P>
Referential integrity is implemented via the concept of constraints.
Constraints can use a simple RSE and conditional or can be a complex
nested test involving more than one relation and more than one field.
Constraints can be defined to be checked at verb time or at COMMIT time.
If data violates a constraint, then that transaction cannot be committed
until the constraint violation is corrected. Constraints are a feature of
the database and cannot be bypassed once defined, and apply to all users
of the database (hence even third-party 4GLs cannot bypass constraints).
<p>
Refer to:
<LIST>(UNNUMBERED)
<LE>Section 3.9 "Defining Constraints" in the
<emphasis>(<reference>(RdbGuideDesign)).
<LE>Section 13.11 "Database Integrity Considerations" in the
<emphasis>(<reference>(GuideMaintPerf)).
<LE>Section 6.14 "DEFINE CONSTRAINT Statement" in the
<emphasis>(<reference>(RdbRefManual)).
<LE><emphasis>(<reference>(RdbSPD)).
<ENDLIST>
<p>
DIGITAL is undertaking research and development into other forms of
referential integrity, such as "triggers".
<HEAD2>(Supported Data Types)
<P>
Rdb/VMS V3.0 supports the following data types:
<LIST>(UNNUMBERED)
<LE>ASCII text
<LE>Varying string
<LE>Date, as per VMS architecture
<LE>Signed word (16-bit) integer
<LE>Signed longword (32-bit) integer
<LE>Signed quadword (64-bit) integer
<LE>Single precision floating point (F_floating)
<LE>Double precision floating point (G_floating)
<LE>Segmented strings for storing large amounts of unstructured data, such
as documents, voice, or graphics (not supported through VAX SQL)
<ENDLIST>
<p>
Refer to:
<LIST>(UNNUMBERED)
<LE><emphasis>(<reference>(RdbSPD)).
<LE>Section 5.1 "Data Type Clause" in the
<emphasis>(<reference>(RdbRefManual)).
<LE>Chapter 2 "Data Type Compatibility" in the
<emphasis>(<reference>(RdbGuideProg)).
<ENDLIST>
<HEAD2>(Size Constraints)
<P>
For Rdb/VMS V3.0, the following size constraints apply:
<LIST>(UNNUMBERED)
<LE>Maximum number of relations and views in a database is 1,024
<LE>Maximum number of bytes in a record is 16,383
<LE>Maximum number of fields in a relation is 2,000
<LE>Maximum index key size is 254 bytes
<LE>Maximum length of a database object name is 31 characters
<LE>Minimum database page size is 512 bytes
<LE>Maximum size of database, is limited by available physical devices
<LE>Maximum number of subqueries or relation references in a Rdb/VMS
statement is 32.
<LE>Only one active transaction per database attach. <EMPHASIS>(However,
you can attach to the same database more than once, and start a single
transaction against each database attach within the same program, using
database handles and transaction handles.\ITALIC)
<ENDLIST>
<p>
Refer to:
<LIST>(UNNUMBERED)
<LE><emphasis>(<reference>(RdbSPD)).
<LE>Section 3.2.1 "Forming Record Streams" in
<emphasis>(<reference>(RdbGuideProg)).
<LE>Section 3.3.3 "Using Handles" in <emphasis>(<reference>(RdbGuideProg)).
<ENDLIST>
<HEAD2>(Integration and Links to Other Software\IntegratedSoftware)
<P>
VAX Rdb/VMS implements the <EMPHASIS>(DIGITAL Standard Relational
Interface\ITALIC). DSRI is an architecture for relational database
management systems, as well as a standard calling mechanism that can be
used for DSRI database creation and population. DSRI allows
applications running on any VAX or MicroVAX in a DECnet network to
access all other DSRI-compliant databases in the network.
<p> Many other DIGITAL products (eg RALLY, TEAMDATA, DATATRIEVE) and
third-party products use DSRI, permitting them to integrate closely
with Rdb/VMS databases.
<p>
Many of these products are in turn closely
integrated with other products or architectures such as ALL-IN-1 and
Xway. Some examples:
<LIST>(UNNUMBERED)
<LE>It is possible for an ALL-IN-1 user to use TEAMDATA or
20/20 to access data in an Rdb/VMS database, and use the output as
input to DECgraph within ALL-IN-1.
<LE>ALLIN-1 can invoke ACMS tasks, TEAMDATA, RALLY, etc..
<LE>TEAMDATA can include RALLY
applications within its folders, providing another interface to data.
<LE>RALLY applications can in turn call external programs such as
run-time library routines, user programs or even ACMS tasks.
<ENDLIST>
<p>
Refer to the:
<LIST>(UNNUMBERED)
<LE><emphasis>(<reference>(RdbSPD))
<LE><emphasis>(<reference>(DTRSPD))
<LE><emphasis>(<reference>(RallySPD))
<LE><emphasis>(<reference>(TeamdataSPD))
<LE><emphasis>(<reference>(XwaySPD))
<LE><emphasis>(<reference>(Allin1SPD))
<ENDLIST>
<HEAD2>(Extent of Physical and Logical Data Independence)
<P> Using Rdb/VMS, it is possible to create and use a database without
taking physical storage characteristics into consideration. While such an
approach can be useful and successful for smaller databases, it should not
be used for larger and/or more complicated database designs. Table 31-1
"How Far Will the Rdb/VMS Default Values Take You?" in the
<emphasis>(<reference>(GuideMaintPerf)) contains a rough outline to the
minimum tuning effort that may be required for various combinations of
size and complexity. Many of the performance parameters of a large or
complex database are physical characteristics which can be managed largely
separately from the logical design of the database domains and tables.
<p>
Refer to:
<LIST>(UNNUMBERED)
<LE>Section 1.3 "Understanding Logical and Physical Database Design" in
the <emphasis>(<reference>(RdbGuideProg)).
<LE>Table 3-1 "Storage Design Complexity as Required by Database Size and
Complexity" in Section 3.4.2 "Choosing Single-File or Multifile Storage" in
the <emphasis>(<reference>(RdbGuideProg)).
<LE>Chapter 13 "Improving Database Performance" in the
<emphasis>(<reference>(GuideMaintPerf)).
<LE>Chapter 4 "Implementing a Multifile Database" in the
<emphasis>(<reference>(RdbGuideProg)).
<ENDLIST>
<HEAD2>(Options for Physical Placement of Data/Indices)
<P>
Rdb/VMS implements the following physical characteristics/features:
<LIST>(UNNUMBERED)
<LE>Physical storage areas, with associated snapshot files
<LE>UNIFORM or MIXED format pages per storage areas
<LE>Storage maps, to associate data and/or indexes to storage areas
<LE>HASHED and SORTED (B-tree) indexes
<LE>PLACEMENT VIA INDEX to cluster records from different relations with
index
<ENDLIST>
<p>
Refer to:
<LIST>(UNNUMBERED)
<LE>Section 1.3 "Understanding Logical and Physical Database Design" in
the <emphasis>(<reference>(RdbGuideProg)).
<LE>Chapter 4 "Implementing a Multifile Database" in the
<emphasis>(<reference>(RdbGuideProg)).
<LE>Chapter 13 "Improving Database Performance" in the
<emphasis>(<reference>(GuideMaintPerf)), and in particular:
<LIST>(UNNUMBERED\-)
<LE>Section 13.5 "Indexed Retrieval"
<LE>Section 13.13 "Adjusting Storage Area Parameters"
<LE>Section 13.14 "Adjusting Storage Map Parameters"
<ENDLIST>
<LE>Chapter 4 "VAX SQL Statements" in the
<emphasis>(<reference>(SQLRefManual)), and
in particular:
<LIST>(UNNUMBERED\-)
<LE>Section 4.13 "CREATE STORAGE AREA Clause"
<LE>Section 4.14 "CREATE STORAGE MAP Statement"
<LE>Section 4.11 "CREATE INDEX Statement"
<ENDLIST>
<ENDLIST>
<HEAD1>(Production Support)
<HEAD2>(Extent and Quality of DBA Functionality Performed by RDBMS)
<P>
<REFERENCE>(AutomaticDBA\FULL) covers the DBA-class functions
automatically performed by Rdb/VMS.
<HEAD2>(Extent and Quality of DBA Documentation)
<P>
The documentation specifically aimed at the DBA is the
<emphasis>(<reference>(GuideMaintPerf)). Other documentation that the DBA
might need to use includes:
<LIST>(UNNUMBERED)
<LE><emphasis>(<reference>(RdbRefManual))
<LE><emphasis>(<reference>(SQLRefManual))
<LE><emphasis>(<reference>(CDDRefManual))
<ENDLIST>
The following guides may be useful for the new DBA:
<LIST>(UNNUMBERED)
<LE><emphasis>(<reference>(SQLUserGuide))
<LE><emphasis>(<reference>(CDDUsersGuide))
<LE><emphasis>(<reference>(RdbGuideDesign))
<LE><emphasis>(<reference>(RdbGuideProg))
<ENDLIST>
<HEAD2>(Extent and Quality of DBA Performance Monitoring and Tuning Tools)
<P>
Refer to:
<LIST>(UNNUMBERED)
<LE><emphasis>(<reference>(GuideMaintPerf)) and in particular:
<LIST>(UNNUMBERED\-)
<LE>Section 10.2 "Utilities and Tools to Evaluate Performance"
<LE>Chapter 11 "Analyzing Record Storage"
<LE>Chapter 12 "Using Database Statistics"
<LE>Chapter 14 "The Optimizer and RDMS$DEBUG_FLAGS"
<ENDLIST>
<ENDLIST>
<HEAD2>(Extent and Ease of Use of DBA Tools for User Self-maintenance)
<P>
Some of the statistics analysis might require a knowledge of material
covered in the <emphasis>(<reference>(GuideMaintPerf)). For most small databases,
very little maintenance should be required over backups.
<HEAD2>(Backup and Recovery Steps)
<P>
To backup a database, use the RMU /BACKUP command. Refer to Section 5.2
"Backing Up a Database" in the <emphasis>(<reference>(GuideMaintPerf)) for
details. The sample backup procedure in Section 5.2.2 "Sample Backup
Procedure" uses the following steps:
<p>
<LIST>(UNNUMBERED)
<LE>Full Backup, say once a week:
<LIST>(NUMBERED)
<LE>Optionally, verify the database using RMU /VERIFY
<LE>Perform a full backup using RMU /BACKUP/FULL
<LE>Optionally, verify the backup file by using RMU /DUMP/BACKUP command
<ENDLIST>
<LE>Every other day of the week, perform an incremental backup:
<LIST>(NUMBERED)
<LE>Verify the database since previous full backup using
RMU /VERIFY/INCREMENTAL
<LE>Backup using RMU /BACKUP/INCREMENTAL
<LE>Optionally, purge old versions of incremental backups
<LE>Check the incremental backup using RMU /DUMP/BACKUP_FILE command
<ENDLIST>
<ENDLIST>
Typically, these steps are adequate.
<p>
To recover a database to a known, uncorrupt state, follow these steps:
<LIST>(NUMBERED)
<LE>Restore the database from the last full RMU /BACKUP operation using the
RMU /RESTORE command. You may want to delete the corrupt database first.
<LE>Update the restored database from the last RMU /BACKUP/INCREMENTAL
operation using the RMU /RESTORE/INCREMENTAL command.
<LE>Use the RDO RECOVER statement to apply the transactions in the journal
file to the <EMPHASIS>(new\ITALIC), now fully restored copy of the
database. There may be more than one AIJ file to apply depending on the
prior use of the RMU /BACKUP/AFTER_JOURNAL command. The rollforward can be
done to the end of all the AIJ files, or to a selected date-time (useful
if the introduction of a bad program image caused the corruption).
<LE>Verify the integrity of the database with RMU /VERIFY command.
<LE>It is also recommended that you perform a full, online, database
backup using RMU /BACKUP (but not write over the previous backup copy) to
preserve a new copy.
<ENDLIST>
<p>
Refer to <emphasis>(<reference>(GuideMaintPerf)) for information on
restoring databases from backups, and recovering (roll-forward) with
after-image journals:
<LIST>(UNNUMBERED)
<LE>Section 6.3.1 "Steps for Recovering a Database"
<LE>Chapter 5 "Backing Up and Restoring Your Database"
<LE>Chapter 6 "Journaling and Recovery"
<ENDLIST>
<HEAD2>(Degree of DBA Involvement in Prototyping)
<P>
A minimal database requires no, or very little, DBA involvement.
<HEAD2>(Reorganising Files for Performance)
<P>
There is <EMPHASIS>(no need to reorganise files to free up space\BOLD) no
longer in use, as this is automatically made available.
<p>
Many of the RDO CHANGE and SQL ALTER commands reorganise the
appropriate structures (eg CHANGE INDEX) when the command is used.
<p>
In the event of disk fragmentation, or poor tuning practices, it is
possible to unload and reload with substantially changed parameters using
the RDO EXPORT and IMPORT commands, or use an appropriate ALTER command.
<p>
Refer to Chapter 10 "Performance Tuning Overview", and Chapter 7
"Modifying Your Database Characteristics", in the
<emphasis>(<reference>(GuideMaintPerf)).
<HEAD2>(Dynamic Increase of Database Size)
<P>
<EMPHASIS>(Rdb/VMS will dynamically increase sizes of storage areas,
snapshot files, after-image journal files, recovery-unit journal files,
etc, as required.\BOLD) This powerful functionality is uncommon amongst
many RDBMS's.
<p>
Refer to the <emphasis>(<reference>(GuideMaintPerf)):
<LIST>(UNNUMBERED)
<LE>Section 6.2 "The After-Image Journal File"
<LE>Section 6.4 "The Recovery-Unit Journal File"
<LE>Section 13.12.8 "Allocation for After-Image Journal and Snapshot Files"
<LE>Section 13.12.9 "Extents for After-Image Journal and Snapshot Files"
<LE>Section 13.13.2 "Allocation Size"
<LE>Section 13.13.3 "Extent Size"
<ENDLIST>
<HEAD2>(Maintenance Procedures Standard to Life-cycle Environments)
<P>
Rdb/VMS provides the same RMU utilities under run-time licenses as it does
under a full development license.
<p>
Rdb/VMS does not distinguish between a development environment and a
production environment, unless different Rdb/VMS licenses are used. The
more restricted licenses contain less development capabilities (eg no
precompilers) than the full development license.
<p>DBA maintenance procedures (eg statistics monitoring, backups) are
identical in all environments.
<HEAD2>(Online Maintenance Facilities)
<P>
All RMU functions can be performed interactively. Some functions require
the database to be off-line.
<HEAD2>(Online Help)
<P>
Help is provided online in many ways:
<LIST>(UNNUMBERED)
<LE>HELP for RMU is online through a VMS help library (eg HELP RMU).
<LE>The interactive utilities like RDO and Interactive SQL have Help
online available interactively.
<LE>Where an LSE template is available, it may have online help.
<ENDLIST>
<HEAD2>(Security Implementation)
<P>
Security uses VMS-style access control lists based upon VMS identifiers.
VMS identifiers include UIC identifiers, general identifiers (defined by
system manager, such as MANAGERS, PROGRAMMERS), system-defined
identifiers (such as BATCH, LOCAL, INTERACTIVE) and a combination of a
system identifier with a UIC or general identifier (such as [*,*]+LOCAL
to specify any user associated with a LOCAL login). Databases, relations
and views can have access control lists associated with them.
<P>
Database protection is described in:
<LIST>(UNNUMBERED)
<LE>Chapter 3 "Defining Database Privileges" of the
<emphasis>(<reference>(SQLUserGuide)), and especially Sections 3.1 and
3.2.
<LE>Chapter 5 "Defining Database Protection" of the
<emphasis>(<reference>(RdbGuideDesign)).
<LE>The following sections in the
<EMPHASIS>(<REFERENCE>(RdbRefManual)\ITALIC) :
<LIST>(UNNUMBERED\-)
<LE>Section 6.6 "CHANGE PROTECTION Statement"
<LE>Section 6.16 "DEFINE PROTECTION Statement"
<LE>Section 6.26 "DELETE PROTECTION Statement"
<ENDLIST>
<LE>The following sections in the
<EMPHASIS>(<REFERENCE>(SQLRefManual)\ITALIC) :
<LIST>(UNNUMBERED\-)
<LE>Section 4.41 "GRANT Statement"
<LE>Section 4.51 "REVOKE Statement"
<ENDLIST>
<ENDLIST>
<HEAD2>(Application Security Independent of Security at DML Level)
<p>
By default, protection is identifier based so that the same access rights
would apply regardless of the utility or program used to access the
database as the users process context is used to determine access.
<P>
If the application code can grant to the user (or revoke from) identifiers
that would not be available at DML level, then different access might be
granted (depending on the protections) from that which would ordinarily be
available.
<p>
This is often the case with applications using ACMS, so that 3GL programs
running under ACMS are considered to be different users from interactive
users using SQL or RDO. The database server process could run under a
username different from that of the terminal user, hence the user gains
controlled access to data through the ACMS application that is not
available otherwise.
<HEAD2>(Audit Options)
<P>
Currently, Rdb/VMS treats audit as an application concern, and provides no
facilities other than the RMU /DUMP/AFTER command.
<HEAD2>(Multi-user Access and Resource Availability)
<P>
The sharing options and transactions types used by users, control how
multi-user access will interact. <EMPHASIS>(Deadlocks are usually
prevented by the sophisticated locking strategy Rdb/VMS implements on top
of the VMS Distributed Lock Manager, and when deadlocking transactions are
detected the deadlock will be broken.\BOLD) Depending on the transaction
type, users will wait for data to become available, or the transaction
will fail immediately.
<p>
Refer to Section 13.4 "Locking Considerations" in the
<emphasis>(<reference>(GuideMaintPerf)).
<HEAD2>(Multi-user Access and Integrity)
<P>
<EMPHASIS>(Rdb/VMS implements degree-3 consistency (snapshots), by making writers
write snapshots of old data as required, so that a READ_ONLY user will
always see the same results when repeating queries within the same
transaction.\BOLD)
<p>
Refer to Section 13.4 "Locking Considerations" in the
<emphasis>(<reference>(GuideMaintPerf)).
<HEAD2>(RDBMS Tools to Monitor Performance Parameters)
<P>
Refer to Chapter 11 "Analyzing Record Storage", Chapter 12 "Using Database
Statistics" in the <emphasis>(<reference>(GuideMaintPerf))
<HEAD2>(Performance Parameters - Automatic Support by RDBMS)
<P>
See also <REFERENCE>(AutomaticDBA\FULL). <EMPHASIS>(The most significant
compared to older style RDBMS's is the dynamic file
extension capabilities and locking
strategies. No other RDBMS's on VAX/VMS can combine the performance and
power of these features at the same time.\BOLD)
<HEAD2>(Performance Parameters - Supported by DBA)
<P>
See Chapter 13 "Improving Database Performance" in
<emphasis>(<reference>(GuideMaintPerf)).
<HEAD2>(Performance Parameters - Supported by Application Developers)
<P>
See Section 13.4 "Locking Considerations" in
<emphasis>(<reference>(GuideMaintPerf)), for a discussion on transaction
types
available to developers.
<p>
See Section 14.1 "The Optimizer" for a discussion on types of queries that
the optimizer considers more expensive than others.
<p>
For very large and/or complex databases, there may be occasions where the
programmer has more knowledge about the spread of data values than the
optimizer does, and where queries manipulating large amounts of data can
be pushed towards a certain lookup strategy by the programmer. For
example, when programming using RDO style DML a programmer might choose to
use nested FOR loops to force Rdb to query the outside relation first
before the inner relation, rather than letting the optimizer choose.
These occasions are typically very rarely needed.
<HEAD2>(Database Setup Resource Overheads)
<P>
As Rdb/VMS is implemented via shareable images, mapped into users process
space, the overheads of Rdb are very low. Each VMS node uses a single
monitor process whose functions are very limited (eg perform attaches, check
for aborted transactions at attach) and the monitor typically uses few
resources.
<HEAD2>(Database Expandability)
<P>
The database files will grow dynamically as required, subject to physical
disk limitations.
<HEAD2>(Availability of Freed Space)
<P>
Freed space is always available to data and/or indexes using the same
storage area.
<p>
<HEAD1>(Development Issues)
<HEAD2>(Range and Integration of Application (CASE) Tools)
<P>
Refer to <emphasis>(<reference>(VAXsetBook)).
<HEAD2>(Quality and Ease of Use of Application 4GL Tools)
<p>
DIGITAL provides high quality 4GL tools such as RALLY, TEAMDATA,
DATATRIEVE, COBOL Generator. Typically, the more powerful 4GL's such as
the applications generator RALLY do require some training so that
programmers can reach full productivity as quickly as possible.
<HEAD2>(Integration of All Life-cycle Environments)
<P>
Refer to <emphasis>(<reference>(VAXsetBook)).
<HEAD2>(Common User Interface Across 4GL Tools)
<P>
While most DIGITAL products use similar definitions for keystrokes and
keypad functions, the interface for each 4GL tool (particularly
programming tools) tends to be optimised for that particular tool.
<p>
Applications developed under RALLY can have key definitions changed by the
developer, from either of the two supplied standards of EDT or WPS
compatible.
<HEAD2>(Data Dictionary Capabilities and Restrictions, with RDBMS)
<P>
Refer to Chapter 6 "Using Rdb/VMS with VAX CDD/Plus" in the
<emphasis>(<reference>(RdbGuideDesign)).
<HEAD2>(Management of Source and Executable Code)
<P>
Refer to <emphasis>(<reference>(VAXsetBook)).
<HEAD2>(SQL Procedural Language and ANSI Conformity)
<P>
Appendix B "Differences from ANSI Standard" details known areas of VAX SQL
noncompliance with the SQL ANSI standard X3.135-1986, in the
<emphasis>(<reference>(SQLRefManual)).
<HEAD2>(Integrated SQL Procedural Editor)
<P>
Interactive SQL supports either the EDT or TPU editors, to be invoked by
the EDIT command. VAX LSE has partial support under SQL. Refer to Section
4.32 "EDIT Statement" in the <emphasis>(<reference>(SQLRefManual)).
<HEAD2>(3GL PASCAL Support)
<P>
RDB/VMS currently has no SQL PASCAL Precompiler, but an RDML Precompiler is
provided. Digital recommends the SQL Module Language if PASCAL and SQL
are to be used together. Refer to Chapter 5 "SQL Module Language" in the
<emphasis>(<reference>(SQLRefManual)).
<HEAD2>(Host Language Interface)
<P>
Refer to Chapter 9 "Developing Host Language Programs" in the
<emphasis>(<reference>(SQLUserGuide)).
<HEAD2>(Test and Debugging Environment)
<P>
Rdb precompilers use standard compilers after precompilation, and so
standard VMS test and debugging features are available.
<P>
Refer to <emphasis>(<reference>(RdbGuideProg)) and
<emphasis>(<reference>(VAXsetBook)).
<HEAD2>(4GL RDBMS Produced Application Documentation)
<P>
VAX RALLY has an application report utility, which produces a description
of the RALLY application. Refer to the
<emphasis>(<reference>(RallyRefManual)).
<p>
<HEAD1>(Performance)
<HEAD2>(Maximum Performance)
<P>
Performance of a RDBMS is dependent upon the logical and physical design,
the supporting hardware and the nature, size and complexity of the
applications using that system. Performance is best estimated by looking
at a reasonable prototype of the application. Refer to following sections
for references to further reading on optimisation and tuning.
<HEAD2>(Effort to Optimise Performance)
<P>
There are some basic assumptions made by the Rdb developers as to the
minimum effort needed to implement a physical design of your application
based upon the kind of database (simple or complex) and the size of the
database (small to very large).
<p>
Table 31-1 "How Far Will the Rdb/VMS Default Values Take You?" in the
<emphasis>(<reference>(GuideMaintPerf)) contains a rough outline to the
minimum tuning effort that may be required for various combinations of
size and complexity.
<p>
Chapter 13 "Improving
Database Performance" is a thorough review of factors affecting
performance and should be considered with Chapters 10 to 12 inclusive, and
Chapter 14. It is envisaged that stable applications should not require
frequent performance reviews.
<p>
Many of the performance parameters of a large or complex database are
physical characteristics which can be managed largely separately from the
logical design of the database domains and tables. A few parameters are
involved with application programming (eg. sharing mode used in
transactions). See Section 13.4 "Locking Considerations" for some detail
on this.
<HEAD2>(Query Optimisation)
<P>
The optimizer is responsible for evaluating all queries and determining
the most efficient lookup strategy to implement that query. The optimizer
works at the lowest layer, and so even precompiled DML/SQL is passed to
the optimizer for evaluation. Once a query for a user has been evaluated
by the optimizer, the optimizer will recognise identical later queries by
that user and does not need to re-determine the strategy. You do not have
to be overly concerned about how to construct your queries; if the
database changes, the optimizer will automatically devise a new access
strategy. Thus, the order in which you specify joins and the order of
clauses in the RSE do not, in most cases, influence the order the
optimizer uses to satisfy the query.
<p>
The programmer and DBA can view the optimizer strategy by using the
RDMS$DEBUG_FLAGS logical. See Section 14.1 "The Optimizer" and Section
14.2 "Using RDMS$DEBUG_FLAGS" in the
<emphasis>(<reference>(GuideMaintPerf)).
<HEAD2>(Reclamation of Freed Space)
<P>
Freed space is automatically made available to other users, and is reused
freely. Rdb/VMS manages free space with space area management (SPAM)
pages, which track whether data pages are full or have free space. A
single SPAM page tracks space utilisation of many data pages. Hence, SPAM
pages are used to quickly determine target pages for storing new data,
rather than searching data pages for one that has sufficient free space.
<p>
For a
detailed description of the management of freed space using SPAM pages,
refer to Section 8.5 "Space Area Management (SPAM) Page Structure" in the
<emphasis>(<reference>(GuideMaintPerf)).
<p>
For a description of how free space within a
data page is managed, refer to Section 8.4.4 "Locked and Unlocked Free
Space for a Data Storage Page".
<HEAD2>(Data Contention\LockingContention)
<P>
Rdb/VMS uses the VMS Distributed Lock Manager to synchronise access of
shared resources. When one user's query fetches a record from the
database, a series of locks prevents other users from altering that
record. Locks might be placed on that record, as well as database
relations, pages, and index nodes as well. Through the VMS Distributed
Lock Manager, Rdb/VMS maintains locks on a database resource at various
levels; that is, a transaction can lock database resources at the relation
level (coarse granularity), the record level (fine granularity) or the page
level. This method of using locks to protect resources requested by a
transaction is called <EMPHASIS>(adjustable locking granularity\BOLD), and
is optional (it can be disabled and enabled as desired).
<p>
Adjustable locking granularity is the internal method Rdb/VMS uses to
maintain as few locks as possible on database resources. Refer to Section
13.4.4 "Adjustable Locking Granularity" in the
<emphasis>(<reference>(GuideMaintPerf)).
<p>
<emphasis>(It is usually best enabled for applications with heavy
retrieval content where the application processes groups of records. On
the other hand, it can be best disabled for heavy update content where the
application processes specific records individually.\BOLD) Refer to Section
7.1.5 "Changing Database Locking Characteristics" in the
<emphasis>(<reference>(GuideMaintPerf)).
<p>
Section 13.4 "Locking Considerations" covers the basics of locking and
transactions in some detail, and Figure 13-3 "Lock Compatibility" shows
the compatibilities of shared access by different transaction types.
<HEAD2>(Effect of Data Dictionary on Runtime Performance)
<P>
As the synchronised use of the Common Data Dictionary is optional, it is
unusual for precompiled applications to use the dictionary at runtime
(such as precompiled COBOL or PASCAL programs). Some products (eg
DATATRIEVE) always use the CDD, but the overhead is usually considered to
be minimal.
<p> Refer to Chapter 6 "Using VAX Rdb/VMS with CDD/Plus" in the
<emphasis>(<reference>(RdbGuideProg)), and Chapter 7 "Using VAX Rdb/VMS
with CDD/Plus" in the <emphasis>(<reference>(CDDUsersGuide)).
<p>
<HEAD1>(Cost)
<p>
<EMPHASIS>(VAX Rdb/VMS has the best cost of ownership of any RDBMS on VMS with
its capabilities.\BOLD)
<p>
<HEAD1>(Environment)
<HEAD2>(Compatibility with Environment)
<HEAD3>(Functionality and/or Performance)
<P>
DIGITAL products yield optimum performance, interoperability,
functionality, and ease of use in the
DIGITAL hardware and software environment.
<HEAD3>(Upgrade Effort or Risks)
<P>
Due to the extensive quality testing of new hardware and software
versions prior to release, DIGITAL attempts to minimise upgrade effort
and upgrade risks for its customers.
<p>
Third-party RDBMS's do not have the advantages of being involved in
DIGITALs hardware and software planning, research and development
process. Many third-party 4GL and other layered product developers do
have co-operative development agreements
with DIGITAL, so that they can provide compatible layered software.
<p>
DIGITAL aims to provide upgrade paths. New versions of
software (like Rdb/VMS) are provided as part of a regular software
maintenance contract (so that it is not necessary to purchase new
versions separately).
<HEAD3>(Database Extension)
<P>
Extension is dynamic. See also <REFERENCE>(AutomaticDBA\FULL).
<HEAD3>(Shareable Data Dictionary)
<p>
The CDD is shareable. Refer to Chapter 6 "Using VAX Rdb/VMS with
CDD/Plus" in the <emphasis>(<reference>(RdbGuideProg)), and Chapter 7
"Using VAX Rdb/VMS with CDD/Plus" in the
<emphasis>(<reference>(CDDUsersGuide)).
<HEAD3>(VAXcluster Support)
<P>
Database integrity has been the primary goal of Rdb/VMS since
inception. <EMPHASIS>(Automatic detection and recovery/rollback of incomplete
transactions through user based recovery-unit journalling, after-image
journalling and use of the distributed lock manager means that Rdb
maintains optimum integrity in all VAX/VMS environments, including
single or multiple CPU nodes, CI VAXclusters, Local Area VAXclusters,
mixed VAXclusters, and under DECnet distributed environments.\BOLD)
<P>
Refer to Chapter 15 "Using Rdb/VMS in a VAXcluster Environment", in the
<emphasis>(<reference>(GuideMaintPerf)).
<p>
VAX Rdb/VMS, VAX CDD, and most other Digital products, are fully
supported when installed on any valid and license VAXcluster
configuration without restrictions.
Refer to the <emphasis>(<reference>(RdbSPD)) and the matching
<emphasis>(System Support Addendum), and also the
<emphasis>(VAXcluster Software Product Description (29.78.xx)).
<HEAD3>(Host Language Interface)
<P>
Refer to Chapter 9 "Developing Host Language Programs" in the
<emphasis>(<reference>(SQLUserGuide)).
<HEAD3>(Minimal Lock Contention)
<P>
See <reference>(LockingContention\FULL).
<HEAD2>(PC Platform Functionality and Requirements)
<P>
This is difficult to cover briefly. There are many ways that PCs and
Rdb/VMS applications can interoperate, using PCSA architecture, Xway
transfers and the new very powerful SQL/SERVICES program.
<HEAD2>(Distributed Processing)
<P>
Currently, Rdb/VMS supports DECnet access. Further research and
development is being performed on extending distributed access.
See <REFERENCE>(DSRIDistributed\FULL).
<HEAD2>(Integration with Office Facilities)
<P>
Rdb/VMS integrates with VAX ALL-IN-1 through TEAMDATA, 20/20, Xway and
other methods.
See <REFERENCE>(IntegratedSoftware\FULL).
<p>
<HEAD1>(Documentation and Support)
<HEAD2>(Extent and Quality of Documentation for Life-cycle Environments)
<p>
As evidenced by the references in this document, there is extensive
high-quality documentation covering all stages of development and
production. For a partial list refer to the Preface of this document.
<HEAD2>(Documentation of Bugs/Errors and Error Reporting)
<P>
Usually documented in the Release Notes. Additional information is
available through the DSIN program. Up-to-date information and support is
assisted with the purchase of a DIGITAL Professional Software Services
Consulting contract.
<P>
Error reporting is done through the local Telephone Support Centre, and/or
through submitting a Software Performance Report for each problem. DIGITAL
will provide written responses for Software Performance Reports.
<HEAD2>(Online Documentation)
<P>
Not currently available, but DIGITAL would be pleased to discuss possible
future arrangements.
<HEAD2>(Availability, Extent and Quality of Local Vendor Support)
<P>
DIGITAL Professional Software Services has Consulting staff available
locally, and in other offices, to assist as required. DIGITAL is
continually training and developing its staff, particularly in the area of
applications and database management systems (ie Rdb/VMS), to keep their
skills and knowledge up-to-date.
<HEAD2>(Availability of Local Skilled Contract Personnel)
<P>
There are experienced local contract personnel who have worked with
Rdb/VMS.
<p>
<HEAD1>(Other)
<HEAD2>(Extensions and Deviations from ANSI SQL)
<P>
Appendix B "Differences from ANSI Standard" details known areas of VAX SQL
noncompliance with the SQL ANSI standard X3.135-1986, in the
<emphasis>(<reference>(SQLRefManual)).
<p>
Appendix C "Differences from DB2" describes differences between VAX SQL
and the SQL language used in DB2, and briefly describes the general
differences between the environment in which the two languages operate.
<HEAD2>(Description of RDBMS Architecture)
<P>
The <emphasis>(<reference>(RdbIntro)) provides a preliminary overview of
Rdb/VMS, as does Chapter 4 "VAX Rdb/VMS" in the
<EMPHASIS>(<REFERENCE>(VAXInfo_Summary)\ITALIC). Detailed information
about the internal architectures of Rdb/VMS is not available publicly as it is
a proprietory result of DIGITAL's ongoing research and development program.
<HEAD2>(Application Design Support Tools)
<P>
DIGITAL currently provides third-party solutions, such as Software Through
Pictures .
<HEAD1>(Summary of Functionality in Tabular form)
<p>
The following tables summarize some of the features of Rdb/VMS and the
DIGITAL environment.
<TABLE>(Rdb/VMS and Database Structures)
<TABLE_ATTRIBUTES>(KEEP)
<TABLE_SETUP>(2\40\20)
<TABLE_HEADS>(Characteristic\Supported)
<TABLE_ROW>(Database Structure\Relational)
<TABLE_ROW>(Multi-file databases\Yes)
<TABLE_ROW>(Partitioned Tables\Yes)
<TABLE_ROW>(Record Clustering\Yes)
<TABLE_ROW>(Multi-format Page Structure\Yes)
<TABLE_ROW>(Database file placement control\Yes)
<TABLE_ROW>(After Image file placement control\Yes)
<TABLE_ROW>(Before Image file placement control\Yes)
<TABLE_ROW>(Locking at <EMPHASIS>(Database\ITALIC) level\Yes)
<TABLE_ROW>(Locking at <EMPHASIS>(Table\ITALIC) level\Yes)
<TABLE_ROW>(Locking at <EMPHASIS>(Page\ITALIC) level\Yes)
<TABLE_ROW>(Locking at <EMPHASIS>(Record\ITALIC) level\Yes)
<TABLE_ROW>(Performance Monitoring tools\Yes)
<TABLE_ROW>(Database Restructuring\Yes while on-line
(Refer to <REFERENCE>(ONLINE_section\FULL)))
<TABLE_ROW>(Full VAX/VMS Cluster Support\Yes)
<TABLE_ROW>(Snapshot Capability\Yes)
<TABLE_ROW>(Database page size control\Yes)
<TABLE_ROW>(Database creation parameters control\Yes)
<TABLE_ROW>(Support for Views\Yes)
<ENDTABLE>
<TABLE>(Database Characteristics)
<TABLE_ATTRIBUTES>(KEEP)
<TABLE_SETUP>(2\40\10)
<TABLE_HEADS>(Characteristic\Comment)
<TABLE_ROW>(Maximum Size of Database\Limited by available physical devices)
<TABLE_ROW>(Maximum Size of table\Limited by available physical devices)
<TABLE_ROW>(Maximum Tables per database\1024)
<TABLE_ROW>(Maximum Files per database\Limited by available physical devices)
<TABLE_ROW>(Maximum Records per table\Limited by available physical devices)
<TABLE_ROW>(Maximum Records per database\Limited by available physical devices)
<TABLE_ROW>(Maximum Fields per record\2000)
<TABLE_ROW>(Maximum Record size \16383)
<TABLE_ROW>(Maximum Tables in a view \32)
<TABLE_ROW>(Datatypes Supported:\
<line>SIGNED WORD
<line>SIGNED LONGWORD
<line>SIGNED QUADWORD
<line>F_FLOATING
<line>G_FLOATING
<line>DATE
<line>TEXT
<line>VARYING STRING
<line>SEGMENTED STRING (Unstructured datatype) )
<TABLE_ROW>(Support for Arrays \No (Arrays are non-relational;
normalisation removes arrays))
<ENDTABLE>
<TABLE>(Data Dictionary Functions)
<TABLE_ATTRIBUTES>(KEEP)
<TABLE_SETUP>(2\40\20)
<TABLE_HEADS>(Requirement\Comment)
<TABLE_ROW>(General Purpose Data Dictionary\Yes, in CDD/Plus)
<TABLE_ROW>(Referential Integrity\Yes, in Rdb)
<TABLE_ROW>(Stored Procedures\No)
<TABLE_ROW>(Triggers\No)
<TABLE_ROW>(Two-way Active Dictionary\Yes, in CDD/Plus)
<ENDTABLE>
<TABLE>(Field Attributes)
<TABLE_ATTRIBUTES>(KEEP)
<TABLE_SETUP>(2\40\20)
<TABLE_HEADS>(Characteristic\Rdb/VMS)
<TABLE_ROW>(Required Field\Yes (NOT MISSING))
<TABLE_ROW>(Acceptable Values\Yes (VALID IF))
<TABLE_ROW>(Formatting of Data\Yes (EDIT STRING))
<TABLE_ROW>(Calculated Fields\Yes (COMPUTED BY), in both table and view)
<TABLE_ROW>(Display only\No, not at database level (implemented by forms
products))
<TABLE_ROW>(Prompt\No, not at database level (implemented for Datatrieve))
<TABLE_ROW>(Error Message\No)
<TABLE_ROW>(Case Conversion\No (TDMS, FMS and DECforms perform
case conversion))
<TABLE_ROW>(Default Value\Yes)
<ENDTABLE>
<TABLE>(Rdb/VMS Indexing)
<TABLE_ATTRIBUTES>(KEEP)
<TABLE_SETUP>(2\40\20)
<TABLE_HEADS>(Characteristic\Options Supported)
<TABLE_ROW>(Types of Index\B-TREE, HASH)
<TABLE_ROW>(Maximum number of indexes per table\Unlimited)
<TABLE_ROW>(Maximum number of indexes per database\Limited by maximum
relations of 1024)
<TABLE_ROW>(Maximum number of fields\2000)
<TABLE_ROW>(Maximum key size\254 bytes)
<TABLE_ROW>(Ordering options\Ascending only)
<TABLE_ROW>(Unique index\Yes)
<TABLE_ROW>(Data clustering by index\Yes)
<ENDTABLE>
<TABLE>(Screen Forms)
<TABLE_ATTRIBUTES>(KEEP)
<TABLE_SETUP>(2\40\20)
<TABLE_HEADS>(Characteristic\Comment)
<TABLE_ROW>(Default form generator\Yes, with RALLY)
<TABLE_ROW>(Able to design customized forms\Yes, in DECforms, TDMS, FMS)
<TABLE_ROW>(Interactive Screen Painter\Yes, using DECforms, TDMS, FMS)
<TABLE_ROW>(Ability to create forms in word processing editor\Possible to
setup RALLY and ALL-IN-1)
<TABLE_ROW>(Multiple tables per form\Yes, using RALLY, DECforms, TDMS, FMS)
<TABLE_ROW>(Multiple screens per form\Yes, using RALLY, DECforms)
<TABLE_ROW>(Embedded processing\Yes, using RALLY, DECforms, TDMS and FMS)
<ENDTABLE>
<TABLE>(Queries)
<TABLE_ATTRIBUTES>(KEEP)
<TABLE_SETUP>(2\40\20)
<TABLE_HEADS>(Characteristic\Option or Comment)
<TABLE_ROW>(Query by example facility \ Yes with RALLY and TEAMDATA)
<TABLE_ROW>(Exact match \Yes)
<TABLE_ROW>(Relational Operators \ All but UNION)
<TABLE_ROW>(Boolean logic \ Yes)
<TABLE_ROW>(Ranges \ Yes)
<TABLE_ROW>(List of values \ Yes)
<TABLE_ROW>(Wildcards \ Yes)
<TABLE_ROW>(Maximum/Minimum Values \ Yes)
<TABLE_ROW>(Aggregate Functions \ Yes)
<TABLE_ROW>(Sort results \ Yes)
<TABLE_ROW>(Case Insensitive \ Yes)
<ENDTABLE>
<TABLE>(Reports)
<TABLE_ATTRIBUTES>(KEEP)
<TABLE_SETUP>(2\40\20)
<TABLE_HEADS>(Characteristic\Option or Comment)
<TABLE_ROW>(Default report generator\Yes with DATATRIEVE,TEAMDATA, RALLY)
<TABLE_ROW>(Interactive report generator, using screen forms/painter \Yes
with DATATRIEVE, TEAMDATA, RALLY)
<TABLE_ROW>(Input source \Table, rse, collection)
<TABLE_ROW>(Multiple tables/report \Yes with DATATRIEVE, TEAMDATA, RALLY)
<TABLE_ROW>(Page formatting \ Yes with DATATRIEVE, TEAMDATA, RALLY)
<TABLE_ROW>(Data formatting \ Yes with DATATRIEVE, TEAMDATA, RALLY)
<TABLE_ROW>(Sorting \ Yes with DATATRIEVE, TEAMDATA, RALLY)
<TABLE_ROW>(Aggregate functions \ Yes with DATATRIEVE, TEAMDATA, RALLY)
<TABLE_ROW>(Logical processing \ Yes with DATATRIEVE, TEAMDATA, RALLY)
<TABLE_ROW>(User-defined variables \ Yes with DATATRIEVE, TEAMDATA, RALLY)
<TABLE_ROW>(Prompt for variables at runtime \ Yes with DATATRIEVE,
TEAMDATA, RALLY)
<TABLE_ROW>(Output options \ Yes with DATATRIEVE, TEAMDATA, RALLY)
<TABLE_ROW>(Applications Generator \ Yes with DATATRIEVE, RALLY)
<TABLE_ROW>(4GL \ Yes with DATATRIEVE and RALLY)
<TABLE_ROW>(Default Menu generator \ Yes with ACMS and RALLY)
<TABLE_ROW>(On-the-fly datafiles \ Yes with DATATRIEVE and RALLY)
<ENDTABLE>
<TABLE>(Security)
<TABLE_ATTRIBUTES>(KEEP)
<TABLE_SETUP>(2\40\20)
<TABLE_HEADS>(Characteristic\Option or Comment)
<TABLE_ROW>(Login password \ Yes with VMS user accounts and RALLY and ACMS)
<TABLE_ROW>(Levels of access for Database \ Database, table, view)
<TABLE_ROW>(Levels of access for Other \ Procedures, forms with CDD)
<ENDTABLE>
<TABLE>(Networked Database Support)
<TABLE_ATTRIBUTES>(KEEP)
<TABLE_SETUP>(2\40\20)
<TABLE_HEADS>(Characteristic\Option or Comment)
<TABLE_ROW>(Distributed processing \ Yes with ACMS)
<TABLE_ROW>(Remote Database access \ Yes, using task to task
communications (more efficient than file transfer))
<TABLE_ROW>(Multiple Database access/application \ Yes)
<TABLE_ROW>(Distributed databases \ Partial with VAX Data Distributor)
<TABLE_ROW>(Heterogeneous Networks \ Yes)
<TABLE_ROW>(Heterogeneous Database access\ Yes, with VIDA and
VAX Link (VAX Link provides the capability of accessing IBM databases and
loading an Rdb/VMS database))
<ENDTABLE>
<TABLE>(Miscellaneous)
<TABLE_ATTRIBUTES>(KEEP)
<TABLE_SETUP>(2\40\20)
<TABLE_HEADS>(Characteristic\Option or Comment)
<TABLE_ROW>(Support for SQL \ Yes)
<TABLE_ROW>(Support for Transactions Logging \ Yes, After Image Journal)
<TABLE_ROW>(Support for Transaction Commit/Rollback \ Yes)
<TABLE_ROW>(Support for Transaction Roll Forward \ Yes)
<TABLE_ROW>(Support for Transaction Concurrency control \ Yes)
<TABLE_ROW>(File import/export capabilities \ Yes with RALLY, DATATRIEVE,
and TEAMDATA)
<TABLE_ROW>(Online Backup capability \Yes)
<TABLE_ROW>(Support for OLTP \ Yes with ACMS)
<TABLE_ROW>(Single-threaded vs multi-threaded \ Single, one per user)
<TABLE_ROW>(Support for VMS V5.0 \ Yes)
<ENDTABLE>
T.R | Title | User | Personal Name | Date | Lines
|
---|