Oracle Rdb

Oracle Rdb
Original author(s)Digital Equipment Corporation
Developer(s)Oracle Corporation
Initial release1984; 40 years ago (1984)
Stable release
7.4.1.1[1] / 2021-04-21[±]
Operating systemOpenVMS
Previously: Tru64, Windows NT, VAXELN
PlatformVAX, Alpha, IA-64
Planned: x86-64
TypeRelational database management system
LicenseProprietary
Websiteoracle.com/rdb Edit this on Wikidata

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.[2]

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.[3] It originally provided a proprietary query interface known as the Relational Data Operator (RDO), but later gained support for ANSI SQL.[2]

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.[4] 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).[5][6][7][8][9]

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.[10]

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.[1] 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. ^ a b "Oracle Rdb Product Family Compatibility Matrix". oracle.com.
  2. ^ a b Ian Smith (2004). "Rdb's First 20 Years: Memories and Highlights" (PDF). Archived from the original (PDF) on 2005-11-03. Retrieved 2021-01-24.
  3. ^ "VAX/VMS Software Information Management Handbook" (PDF). Digital. 1985. Retrieved 2021-01-24.
  4. ^ Oracle Rdb Statement of Direction // Oracle
  5. ^ "Oracle Rdb for OpenVMS" (PDF). Oracle.com. Retrieved 2022-07-29.
  6. ^ "Oracle Rdb for OpenVMS" (PDF). Oracle.com. Retrieved 2022-07-29.
  7. ^ "Oracle Rdb for OpenVMS" (PDF). Download.oracle.com. Retrieved 2022-07-29.
  8. ^ "Oracle Rdb for OpenVMS" (PDF). Download.oracle.com. Retrieved 2022-07-29.
  9. ^ "Oracle Rdb for OpenVMS : Release Notes" (PDF). Oracle.com. Retrieved 2022-07-29.
  10. ^ "Archived copy". Archived from the original on 2013-03-08. Retrieved 2011-03-27.{{cite web}}: CS1 maint: archived copy as title (link)
  11. ^ "Rdb/x86". Groups.google.com. 2020-11-12. Retrieved 2020-11-12.
  12. ^ Mark Bradley (August 2003). "Guide to Database Performance and Tuning: Predicate Estimation" (PDF). Oracle Corporation. Retrieved 2021-01-29.
  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. CiteSeerX 10.1.1.106.8846.
  14. ^ "DEC launches new top-end VAX". April 1984. doi:10.1049/ep.1984.0129. Retrieved 2020-11-12. {{cite journal}}: Cite journal requires |journal= (help)
  15. ^ "A not-so-very technical discussion of Multi Version Concurrency Control". Firebirdsql.org. Retrieved 2020-11-12.
  16. ^ "Porting Rdb to Itanium" (PDF). Oracle.com. 2002. Retrieved 2020-11-15.
  17. ^ "ULTRIX/SQL Database Administrator's Guide" (PDF). Bitsavers.org. June 1990. Retrieved 2020-11-12.