Over the past fifteen years, empirical studies of the reference behavior of a number of database systems have produced seemingly contradictory results. The presence or absence of locality of reference and sequentiality have both been reported (or denied) in various papers. As such, the performance analyst or database implementor is left with little concrete guidance in the form of expected reference behavior of a database system under a realistic workload. We present empirical evidence that all of the previous results about database reference behavior are correct (or incorrect). That is, if the database reference sequence is viewed on a per-transaction instance or per-database basis, almost any reference behavior is discernible. Previous results which report the absolute absence or presence of a certain form of reference behavior were almost certainly derived from reference traces which were dominated by transactions or databases which exhibited a certain behavior. Our sample consists of roughly twenty-five million block references, from 350,000 transaction executions, directed at 175 operational on-line databases at two major corporations. As such, the sample is an order of magnitude more comprehensive than any other reported in the literature.
We also present evidence that reference behavior is predictable and exploitable when viewed on a per-transaction basis or per-database basis. The implications of this predictability for effective buffer management are discussed.
[1]
Michael Stonebraker,et al.
Performance analysis of a relational data base management system
,
1979,
SIGMOD '79.
[2]
Alan Jay Smith,et al.
Sequentiality and prefetching in database systems
,
1978,
TODS.
[3]
A. Inkeri Verkamo.
Empirical Results on Locality in Database Referencing
,
1985,
SIGMETRICS.
[4]
Juan Rodriguez-Rosell,et al.
Empirical Data Reference Behavior in Data Base Systems
,
1976,
Computer.
[5]
A. Inkeri Verkamo.
Empirical results on locality in database referencing
,
1985,
SIGMETRICS 1985.
[6]
Alan P. Batson,et al.
Characteristics of program localities
,
1976,
CACM.
[7]
Peter J. Denning,et al.
The working set model for program behavior
,
1968,
CACM.
[8]
Samuel DeFazio,et al.
Locality of Reference in Hierarchical Database Systems
,
1983,
IEEE Transactions on Software Engineering.
[9]
Samuel Defazio.
Predictive database buffer management strategies: an empirical approach
,
1988
.
[10]
Mary E. S. Loomis,et al.
Logical, internal, and physical reference behavior in CODASYL database systems
,
1984,
TODS.
[11]
Alan P. Batson,et al.
Program Behavior at the Symbolic Level
,
1976,
Computer.
[12]
Domenico Ferrari,et al.
The Improvement of Program Behavior
,
1976,
Computer.
[13]
Gilbert E. Houtekamer.
The local disk controller
,
1985,
SIGMETRICS 1985.
[14]
Gilbert E. Houtekamer.
The Local Disk Controller
,
1985,
SIGMETRICS.