Storage Structures Manager

The Storage Structures Manager is responsible for implementing the available storage structures: heap files and indexes. Above this level, all accesses are to record, below this level, the unit of access is a page. The system stores records in heap files which can be ordered using an external sorting operator.


Records are of unlimited size and are identified by a unique record identifier (RID). The RID associated with a record is permanent, and indicates where the data is actually stored. Click here for the public interface.


Records are stored in pages with a fixed size. Data pages consist of three components: the page header, data rows, and the row offset array

Click here for the public interface.

Heap file

A heap file is an unordered set of records stored in doubly-linked pages. Heap files can be created and destroyed, they can be opened and closed, and records can be inserted and deleted. Temporary heap files are supported as well for external sorting.

Click here for the public interface


B+ tree is the primary structure for storing indexes. There are no primary indexes in JRS in the sense that no data records are actually stored in the leaves. Instead only RID records are stored.

Click here for the public interface

JRS Architecture
JRS Home Page