Summary
The performance deterioration caused by updates to databases or data structures can be overcome by reorganizing the structure from time to time. In previous work, optimal reorganization intervals were determined for linearly increasing deterioration costs and linearly growing reorganization cost. To date only heuristics have been available for non-linear costs, and no work has been published on optimal solutions.
This paper extends previous results by identifying the reorganization points problem as a shortest route problem and by providing a dynamic programming algorithm to find optimal reorganization points when reorganization and deterioration costs are arbitrary. It is shown that our method usesθ(T **2) basic operations andθ(T) space, whereT represents the database lifetime. Furthermore, we note that no algorithm can solve this problem in significantly less time or space. Examples involving linear and non-linear costs are presented and discussed. Finally, the algorithm is modified to find the optimal sequence of reorganizations to be applied in situations where partial reorganizations are possible.
Similar content being viewed by others
References
Bellman, R.: Dynamic Programming. Princeton: University Press 1957
Dreyfus, S.E., Law, A.M.: The art and theory of dynamic programming. Mathematics in Science and Engineering. Vol. 130. New York: Academic Press 1977
Shneiderman, B.: Optimum database reorganization points. Communications of the ACM16, 362–365 (1973)
Tuel, W.: Optimum reorganization points for linearly growing files. ACM Transactions on Database Systems.3, 32–40 (1978)
Yao, S.B., Das, K.S., Teorey, T.J.: A dynamic database reorganization algorithm. ACM Transactions on Database Systems.1, 159–174 (1976)
Author information
Authors and Affiliations
Additional information
The research reported in this paper was supported in part by the Natural Sciences and Engineering Research Council of Canada under grants A8237 and A9292 and by the University of Waterloo