Christopher B. Browne's Home Page

6. Other Linux Databases

6.1. Variations on /RDB

/rdb is a fast, portable, Relational DataBase Management System "without arbitary limits," other than memory and processor speed.

/rdb uses the `operator/stream' DBMS paradigm described in Unix Review, March, 1991, page 24, entitled A 4GL Language. The operators are Unix filters, i.e. they read STDIN and write STDOUT so they can be connected by pipes.

The operators work with relational data in ascii files. The fields in each tuple are separated by a `TAB' char and the tuple is terminated with a `NEWLINE' char. The first section of tuples (the header) contains the names and data definitions for each column. The header also contains optional embedded documentation relating to the entire datafile and/or each data column. Subsequent tuples (the body) contain the data values. A file in this form is said to be an "rdbtable." /rdb is generally compliant with the Relational Model.

All operators read an rdbtable via STDIN and most write a new rdbtable via STDOUT. Exceptions are operators that produce output listings instead of rdbtables (like ptbl and reporttbl ).

There are numerous implementations available with different sets of extensions (such as statistical analysis tools) under a variety of licenses.

Contact me at