|Original author(s)||Digital Equipment Corporation|
Previously: Tru64, Windows NT, VAXELN
|Platform||VAX, Alpha, IA-64|
|Type||Relational database management system|
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. It originally provided a proprietary query interface known as the Relational Data Operator (RDO), but later gained support for ANSI SQL.
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. It currently runs on OpenVMS for VAX, Alpha and IA-64 (Itanium).
On March 22, 2011, Oracle announced it has 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.
Despite the announcement that 7.3 would be the last major release, Oracle released version 184.108.40.206 of Rdb in August 2020 for OpenVMS on both Alpha and Itanium. In November 2020, Oracle announced that they are in the process of porting Rdb 7.4 to the x86-64 port of OpenVMS.
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:
- embedding RDO statements in the source file then running it through a precompiler
- (example: "file.RCO" is pre-compiled into "file.COB")
- embedding SQL statements in the source file then running it through a precompiler
- (example: "file.SCO" is pre-compiled into "file.COB")
- 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.
Rdb is built on top of a low-level database kernel named KODA, which handles functionality such as locking, journaling, and buffering of data. The KODA kernel is shared with Oracle's CODASYL DBMS (originally known as VAX DBMS) which is a network model database.
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. Rdb/ELN was created by Jim Starkey, and was the first commercially available database to use Multiversion concurrency control.
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 compilers 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.
- "Oracle Rdb Product Family Compatibility Matrix". oracle.com.
- 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.
- "VAX/VMS Software Information Management Handbook" (PDF). Digital. 1985. Retrieved 2021-01-24.
- Oracle Rdb Statement of Direction // Oracle
- Oracle Itanium
- "Rdb/x86". group.google.com. 2020-11-12. Retrieved 2020-11-12.
- Mark Bradley (August 2003). "Guide to Database Performance and Tuning: Predicate Estimation" (PDF). Oracle Corporation. Retrieved 2021-01-29.
- 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. Retrieved 2021-01-29.
- "DEC launches new top-end VAX". April 1984. Retrieved 2020-11-12.
- "A not-so-very technical discussion of Multi Version Concurrency Control". firebirdsql.org. Retrieved 2020-11-12.
- "Porting Rdb to Itanium" (PDF). oracle.com. 2002. Retrieved 2020-11-15.
- "ULTRIX/SQL Database Administrator's Guide" (PDF). bitsavers.org. June 1990. Retrieved 2020-11-12.