In a high level query and data manipulation language such as SQL, requests are stated non-procedurally, without reference to access paths. This paper describes how System R chooses access paths for both simple (single relation) and complex queries (such as joins), given a user specification of desired data as a boolean expression of predicates. System R is… (More)
The recovery subsystem of an experimental data management system is described and evaluated. The transactmn concept allows application programs to commit, abort, or partially undo their effects. The DO-UNDO-REDO protocol allows new recoverable types and operations to be added to the recovery system Apphcation programs can record data m the transaction log… (More)
CONVOYS DESCRIBED When driving on a two-lane road with no passing one often encounters clusters of cars. This is because a fast-moving car will soon bump into a slow one. The equilibrium state of such a system is for everyone to be in a convoy behind the slowest car. In System R [Astrahan], transactions often bump into one another when contending for shared… (More)
In the independent reference model of program behavior, King's formulas for the expected FIFO (" first-in-first-out ") and expected LRU (" least-recently-used ") miss ratios each contain an exponential number of terms (very roughly nCAP, where n is the number of pages and CAP is the capacity of main memory). Hence, under the straightforward algorithms,… (More)
System R supports a high-level relational user language called SQL which may be used by ad hoc users at terminals or as an embedded data sublanguage in PL/I or COBOL. Host-language programs with embedded SQL statements are processed by the System R precompiler which replaces the SQL statements by calls to a machine-language access module. The precompilation… (More)
A relational approach makes this experimental data base management system unusually easy to install and use. Some of the decisions made in System R design in order to enhance usability also offer major bonuses in other areas.
In this chapter, we present primary and near-primary sources for several of the most important core concepts in database system design: query planning, concurrency control , database recovery, and distribution. The ideas in this chapter are so fundamental to modern database systems that nearly every mature database system implementation contains them. Three… (More)
LlMITED DISTRIBUTION NOTICE This report has been submitted for publication eleewhere and hae been issued as a Research Report for early dimmination of its contents. As a courtesy to the intended publisher, it should not be widely distributed until after the date of outside publication.