Software:Oracle Rdb

From HandWiki
Short description: Relational database management system
Oracle Rdb
Original author(s)Digital Equipment Corporation
Developer(s)Oracle Corporation
Initial release1984; 40 years ago (1984)
Stable release
Operating systemOpenVMS
Previously: Tru64, Windows NT, VAXELN
PlatformVAX, Alpha, IA-64
Planned: x86-64
TypeRelational database management system
LicenseProprietary

Oracle Rdb is a relational database management system for the OpenVMS operating system. It was originally released by Digital Equipment Corporation (DEC) in 1984 as VAX Rdb/VMS.[1]

Product history

Rdb was a component of the VAX Information Architecture, and was designed to interoperate with other Digital database tools and application frameworks such as the Application Control Management System, Datatrieve and the Common Data Dictionary.[2] It originally provided a proprietary query interface known as the Relational Data Operator (RDO), but later gained support for ANSI SQL.[1]

In 1994 DEC sold the Rdb division to Oracle Corporation where it was rebranded Oracle Rdb. As of 2020, Oracle is still actively developing Rdb, with over half of the codebase developed under Oracle's ownership.[3] Version 7.0 ran on OpenVMS for VAX and Alpha, version 7.1 on Alpha only, and versions 7.2 to 7.4 on Alpha and IA-64 (Itanium).[4][5][6][7][8]

Rdb featured one of the first cost-based optimizers, and after acquisition Oracle introduced a cost-based optimizer in its regular Oracle RDBMS product.

On March 22, 2011, Oracle announced it had decided to end all software development on the Itanium, and that Oracle Rdb 7.3 would be the last major version released by Oracle. Due to a lawsuit filed by HP against Oracle, Oracle was ordered to continue porting its software to Itanium computers for as long as HP (now Hewlett Packard Enterprise) sells Itanium computers.[9]

Despite the announcement that 7.3 would be the last major release, Oracle released version 7.4.1.0 of Rdb in August 2020 for OpenVMS on both Alpha and Itanium.[10] In November 2020, Oracle announced that they are in the process of porting Rdb 7.4 to the x86-64 port of OpenVMS.[11]

Data access

Interactive access to the Oracle Rdb can be by SQL (Structured Query Language), RDO (Relational Database Operator), or both.

High level languages usually access Oracle-Rdb by:

  1. embedding RDO statements in the source file then running it through a precompiler
    (example: "file.RCO" is pre-compiled into "file.COB")
  2. embedding SQL statements in the source file then running it through a precompiler
    (example: "file.SCO" is pre-compiled into "file.COB")
  3. placing the SQL statements in a file external to the source code; this separate file is converted to object code by the "SQL Module Language" compiler, and the source code then references these SQL statements and, after compilation, the two are joined by the OpenVMS linker.
  example: $ SQL$MOD file_bas.sqlmod       → file_bas.obj
           $ BASIC   file.bas              → file.obj
           $ LINK    file.obj,file_bas.obj → file.exe

A variation of example 3 allows "Dynamic SQL" to be created in the source code, and then used to communicate with Rdb via a structure known as SQLDA (SQL Descriptor Area).

On OpenVMS systems, Oracle Rdb is a popular (although expensive) upgrade path for applications written using Record Management Services (RMS) files.

Architecture

Rdb is built on top of a low-level database kernel named KODA, which handles functionality such as locking, journaling, and buffering of data.[12] The KODA kernel is shared with Oracle's CODASYL DBMS (originally known as VAX DBMS) which is a network model database.[13]

Rdb on other platforms

VAX Rdb/ELN was the name of Digital's relational database for the VAXELN operating system. Despite sharing the Rdb name, and being announced at the same time, Rdb/ELN was not based on Rdb/VMS, or vice versa.[14] Rdb/ELN was created by Jim Starkey, and was the first commercially available database to use Multiversion concurrency control.[15]

Ports of Rdb previously existed or were planned for Tru64 and Microsoft Windows NT. Demand for the Tru64 version was so low that support was dropped. The Windows NT port was never released as Oracle could not obtain support on the BLISS compiler necessary for this platform. In order to port Rdb to these platforms, an abstraction layer named the Common Operating System Interface (COSI) was implemented to isolate the database from the underlying operating system.[16]

Digital provided a relational database for their Ultrix operating system named ULTRIX/SQL, but it was based on Ingres instead of Rdb.[17]

References

  1. 1.0 1.1 Ian Smith (2004). "Rdb's First 20 Years: Memories and Highlights". http://www.oracle.com/technology/products/rdb/pdf/2003_tech_forums/13_rdbs_first_20_years.pdf. 
  2. "VAX/VMS Software Information Management Handbook". Digital. 1985. http://bitsavers.trailing-edge.com/pdf/dec/vax/handbook/VMS_Information_Management_Handbook_1985.pdf. 
  3. Oracle Rdb Statement of Direction // Oracle
  4. "Oracle Rdb for OpenVMS". https://www.oracle.com/technetwork/database/database-technologies/rdb/documentation/rdb-rn709-133387.pdf. 
  5. "Oracle Rdb for OpenVMS". https://www.oracle.com/technetwork/database/database-technologies/rdb/documentation/rdb-rn7152-130501.pdf. 
  6. "Oracle Rdb for OpenVMS". https://download.oracle.com/otndocs/products/rdb/pdf/rdb07258_release_notes.pdf. 
  7. "Oracle Rdb for OpenVMS". https://download.oracle.com/otndocs/products/rdb/pdf/rdb07332_release_notes.pdf. 
  8. "Oracle Rdb for OpenVMS : Release Notes". https://www.oracle.com/a/tech/docs/rdb07411-release-notes.pdf. 
  9. "Archived copy". http://www.oracle.com/us/corporate/features/itanium-346707.html. 
  10. Cite error: Invalid <ref> tag; no text was provided for refs named Oracle_Rdb_release
  11. "Rdb/x86". 2020-11-12. https://groups.google.com/g/comp.os.vms/c/gVJPLdhkJgw. 
  12. Mark Bradley (August 2003). "Guide to Database Performance and Tuning: Predicate Estimation". Oracle Corporation. https://www.oracle.com/technetwork/database/database-technologies/rdb/predicate-estimation-129333.pdf. 
  13. Gopalan Arun; Ashok Josh (August 1998). "KODA - The Architecture And Interface Of A Data Model Independent Kernel". VLDB '98: Proceedings of the 24rd International Conference on Very Large Data Bases. Morgan Kaufmann Publishers Inc.. 
  14. DEC launches new top-end VAX. April 1984. doi:10.1049/ep.1984.0129. https://ieeexplore.ieee.org/document/5187227. Retrieved 2020-11-12. 
  15. "A not-so-very technical discussion of Multi Version Concurrency Control". https://firebirdsql.org/en/multi-version-concurrency-control/. 
  16. "Porting Rdb to Itanium". 2002. https://download.oracle.com/otndocs/products/rdb/pdf/tech_archive/port_rdb_to_itanium.pdf. 
  17. "ULTRIX/SQL Database Administrator's Guide". June 1990. http://bitsavers.trailing-edge.com/pdf/dec/vax/ultrix-32/4.0_Jun90/AA-PBZ8A-TE_ULTRIX_SQL_Database_Administrators_Guide_Jun1990.pdf. 

External links